Redis5 新增了很多特性,我这里做下罗列
一、新增 Stream(流)数据类型
这样 Redis 就有了6大数据类型,另外五种是String(字符串)
,Hash(哈希)
,List(列表)
,Set(集合)
及 ZSet(sorted set有序集合)
。它弥补了其它5种数据类型不能实现的功能,比如 List 数据类型只能先进先出,或者后进先出,不能从中间去数据,但是 Stream 可以实现。
Stream 详细介绍:Redis Streams
1)创建 Stream
命令:XADD
用法:XADD key ID field string (id可以自定义)
127.0.0.1:6379> XADD key1 * month month_value # *代表默认id
"1563893367304-0" # 返回值说明:前面是UNIX毫秒时间戳 后面是序列号
127.0.0.1:6379> XADD key2 0-1 car car_value # 自定义ID为 0-1
"0-1"
2)查看Stream长度
命令:XLEN 返回stream中元素的个数
用法:XLEN key
127.0.0.1:6379> XLEN key1
(integer) 1
二、新的 Redis 模块 api : Times and Cluster api,是一个抽象的集群消息总线,用于方便开发分布式系统。
三、RDB(redis database)现在用于存储 LFU(最近最少使用淘汰算法) 和 LRU(最近不经常使用淘汰算法)元数据信息。
四、集群管理器从 Ruby 移植到 C 代码
集群删除从节点
redis-cli --clusterdel-node 192.168.0.100:5008 ID # 分片操作
redis-cli --cluster reshard 192.168.0.100:5007 # 动态添加节点
redis-cli --cluster add-node 添加节点host:port 被添加的host:port # 添加从节点
cluster replicate 做谁的节点id
五、新的 sorted set 命令:ZPOP / MIN / MAX 和阻塞变种
ZPOPMAX key [count] # 删除返回集合中分值最高的元素
ZPOPMIN # 删除返回集合中分值最低的元素
ZPOPMIN key [count]
BZPOPMAX
BZPOPMIN
应用场景举例:
- 成绩排名,第一名和最后一名
- 网站热搜,当下最火搜索
六、主动碎片整理V2
配置项:
activedefrag yes
active-defrag-ignore-bytes 100mb # 内存浪费超过100M时候整理
active-defrag-threshold-lower 10
- 在运行期进行自动的内存碎片整理,释放内存空件
- 通过内存报告了解整个系统的内存使用情况
...