Redis 6.0新Feature实现原理——Threaded I/O

2020-09-20

Redis可以轻松支撑100k+ QPS,离不开基于Reactor模型的I/O Multiplexing,In-memory操作,以及单线程执行命令避免竞态消耗。尽管性能已经能满足大多数应用场景,但是如何继续在迭代中继续优化,以及在多核时代利用上多线程的优势,也是大家关注的重点。我们知道性能优化在系统资源层面可以从I/O以及CPU上入手,对于Redis而言,其功能不过度依赖CPU计算能力,即不是CPU密集型的应用,而In-memory的操作也绕开了通常会拖慢性能的磁盘I/O,所以在Redis 6.0版本中,作者Antirez从网络I/O入手,引入Threaded I/O辅助读写,在一些场景下实现了大幅度的性能提升。本文将介绍Redis的事件模型,分析Threaded I/O是如何帮助提升性能,以及其实现的原理。

Redis 6.0 ACL基于Bitmap实现

2020-03-14

Redis 6.0中使用Bitmap存储命令权限,List存储键匹配Pattern来实现ACL功能,并在执行命令、事务和Lua过程中判断权限。

Redis哨兵故障转移

2020-01-31

当Redis Master节点下线后的领头Sentinel选举及故障转移操作

Redis HyperLogLog及应用尝试

2019-10-16

了解一下6年前Redis引入的“新”数据结构——HyperLogLog,高效的概率计数、去重利器。

理解AMQP协议和RabbitMQ的性能和可靠平衡

2019-09-26

快速了解AMQP协议的基本知识,同时协议(以及RabbitMQ自行扩展的规范)中的各个设置可能会对MQ的性能和可靠性产生影响,这些内容也从发布者和消费者的角度进行了介绍,以满足不同性能、可靠性要求的业务。深刻认识到专业的MQ与自建的Redis队列的差别,对于真正的MQ场景而言确实应该抛弃Redis这种简易的实现方案。