热门
Redis5.0版是Redis产品的重大版本发布,我们先看一下它的最新特点:
Redis stream本质上是个时序数据结构,具有如下特点:
底层是修改版的radix tree,每个node存储了一个listpack。listpack是一块连续的内存block,用于序列化msg entry及相关元信息,如msg ID,使用了多种编码,用于节省内存,是ziplist的升级版。如果XADD每次添加的对中的field是一样的,那么field不会重复存储。内存友好,对于简单的十几~几十字节的msg,100MB内存可以存储数百万个。listpack在内存和disk上的存储结构是一样的,所以stream数据在做RDB时效率非常高,0.3s,500w entries。
发布消息读取消息阻塞读取发布新消息消息返回创建消费组通过消费组读取消息
可用作时通信等,大数据分析,异地数据备份等
客户端可以平滑扩展,提高处理能力
Sorted Sets 增加了类似List的pop命令:ZPOPMAX 命令用于移除并弹出有序集合中分值最大的 count 个元素ZPOPMIN 命令用于移除并弹出有序集合中分值最小的 count 个元素BZPOPMAX 和 BZPOPMIN 是上述两个命令的阻塞变种.
Client id返回当前连接的ID,每个ID符合如下约束:
Client unblock:当客户端因为执行具有阻塞功能的命令(如BRPOP、XREAD或者WAIT)被阻塞时,该命令可以通过其他连接解除客户端的阻塞