redis5.0新特性
1. redis5.0新特性
1.1. 新的Stream类型
1.1.1. 什么是Stream数据类型
- 抽象数据日志
- 数据流
1.2. 新的Redis模块API:Timers and Cluster API
1.3. RDB现在存储LFU和LRU信息
1.4. 集群管理器从Ruby(redis-trib.rb)移植到C代码
1.5. 新的sorted set命令:ZPOPMIN/MAX和阻塞变种
1.6. 主动碎片整理V2
1.7. 增强HyperLogLog实现
1.8. 更好的内存统计报告
1.9. 许多带有子命令的命令现在都有一个Help子命令
1.10. 客户经常连接和断开连接时性能更好
1.11. 错误修复和改进
1.12. Jemalloc升级到5.1版本
1.13. 安装和配置redis5.0
1.14. stream命令
- XADD
- 作用:创建一个stream
- 用法:XADD key ID field string [field string ...]
- ID:毫秒的unix时间戳 - sequence(同一毫秒的序列号)组成
- XADD wangzhe * hero luban 创建默认id的key为hero的流数据
- XLEN
- 作用:返回stream中元素的个数
- 用法:XLEN key
- XDEL
- 作用:删除id
- 用法:XDEL key id,返回删除个数
- XRANGER
- 作用:返回给定ID范围内的stream数据
- 用法:XRANGE key start end [COUNT count]
- 特殊ID:+:最大ID -:最小ID
- XREAD
- 作用:从一个或多个stream读取数据
- 用法:XREAD[COUNT count][BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]
- XREAD count 1 STREAMS LOL 1-1 读取流LOL中从id为1-1开始的的1条数据
- XREAD BLOCK 0 STREAMS key $ 永久堵塞,知道流key接收到最新数据,会显示阻塞时间
- XGROUP
- 作用:创建一个Consumer Group
- 用法:XGROUP CREATE key groupname ID
- XREADROUP
- 作用:从Consumer Group中读取数据
- 用法:XREADGROUP GROUP groupname consumer [COUNT count][BLOCK milliseconds STREAMS key [key ...] ID [ID ...]
- XREADGROUP GROUP fashi chuanrong STREAMS wangzhe > 表示查询最新数据
1.15. help特性
- XINFO help
- PUBSUB help
- XGROUP help
- ... help
- 有子命令的命令才可以用
1.16. redis集群
1.16.1. 创建集群数据存储文件
- mkdir -p /usr/local/redis-cluster
- mkdir 5001 5002 5003 5004 5005 5006
- 修改redis.conf配置文件,开启集群配置,aof配置等等
- 每个文件夹下配置的区别就在端口,统一命令修改
:1,$s/5001/5002/g
- 都启动完成后,创建六个子节点
- ruby创建方法:redis-trib.rb create --replicas 1 192.168.4.147:500*
- 新特性创建方法:redis-cli --cluster create 192.168.4.147:500* --cluster-replicas 1
- 主/从 = 1 : cluster-replicas
- redis-cli -c -h 192.168.4.147 -p 5001 以集群的模式进入
1.16.2. 动态添加节点
- ruby添加节点:redis-trib.rb add-node 192.168.4.147:5007 192.168.4.147:5001
- 新特性添加节点:redis-cli --cluster add-node 192.168.4.147:5007 192.168.4.147:5001
- 添加从节点:redis-cli --cluster add-node 192.168.4.147:5008 192.168.4.147:5001
- 在5008的client命令行里,cluster replicate 主节点,那么5008会成为该主节点的从节点
1.16.3. 分片
- ruby分片方法:redis-trib.rb reshard 192.168.4.147:5007
- 新特性分片方法:redis-cli --cluster reshard 192.168.4.147 5007
1.16.4. 删除节点
1.16.4.1. 删除从节点
- ruby删除方法:redis-trib.rb del-node 192.168.4.147 5008
- 新特性删除方法:redis-cli --cluster del-node 192.168.4.147 5008 主节点唯一id
1.16.4.2. 删除主节点(需要先把数据槽移动到其他节点,再删除主节点,防止数据丢失)
- ruby删除方法:redis-trib.rb reshard 192.168.4.147 5007
- 新特性删除方法:redis-cli --cluster reshard192.168.4.147 5007
- done
1.16.5. 新的Sorted Set
- ZPOPMAX
- 作用:删除返回集合中分值最高的元素
- 用法:ZPOPMAX key [count]
- ZPOPMIN
- 作用:删除返回集合中分值最小的元素
- 用法:ZPOPMIN key [count]
- BZPOPMAX
- 作用:ZPOPMAX的阻塞版
- 用法:BZPOPMAX key [key ...] timeout
4 BZPOPMIN - 作用:ZPOPMIN的阻塞版
- 用法:BZPOPMIN key [key ...] timeout
1.16.5.1. 测试
ZADD exam 100 daji
ZADD exam 99 xiaoqiao
ZADD exam 98 zhenji
ZADD exam 97 anqila
ZRANGE exam 0 -1 WITHSCORES 带分数的打印,从小到大输出
ZPOPMAX exam输出最大分数的值,会从元素中删除
1.17. 碎片整理和内存报告
1.17.1. 应用场景
- 在运行期进行自动内存碎片清理,释放内存空间
- 通过内存报告了解整个系统的内存使用情况
1.17.2. 使用
- 配置项中找到 activedefrag yes,去掉注解,它下面和它相关的注解都解开
1.17.3. 测试
- 使用debug populate 300000 imooc 1000 随机产生300000个key为imooc开头的 大小为1000的数据
- info memory 查看内存使用情况
- MEMORY STATS 查看内存详情
- memory usage imooc:1 查看键值占用内存
redis5.0新特性的更多相关文章
- Streams:深入理解Redis5.0新特性
概述 相较于Redis4.0,Redis5.0增加了很多新的特性,而streams是其中最重要的特性之一.streams是redis 的一种基本数据结构,它是一个新的强大的支持多播的可持久化的消息队列 ...
- Redis系列 | Redis5.0 新特性
- Redis 6.0 新特性-多线程连环13问!
Redis 6.0 来了 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之 ...
- 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?
来源:微信公众号CodeL 今天给大家分享的内容基于前几天收到的一条留言信息,留言内容是这样的: 看了这位网友的留言相信有不少刚接触开发的童鞋们也会有同样的困惑,除了用新建类作为桥梁之外还有什么好的办 ...
- Java基础和JDK5.0新特性
Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性
atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性 1.1. Servlet和JSP规范版本对应关系:1 1.2. Servlet2 ...
- 背水一战 Windows 10 (1) - C# 6.0 新特性
[源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...
- C# 7.0 新特性2: 本地方法
本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 ...
随机推荐
- awk命令小结
先在此至敬朱双印老师,博客写得很详细:http://www.zsythink.net/archives/tag/awk/ 这是朱双印老师关于awk博客的链接,强力推荐给大家 AWK一般在网上说是一 ...
- delphi 7里怎么隐藏PageControl控件的tabsheet标签
Tabsheet1.tabvisible := False;
- Webpack-dev-server的proxy用法
前言: devServer:{ contentBase:'./', proxy:{ // 当你请求是以/api开头的时候,则我帮你代理访问到http://localhost:3000 // 例如: / ...
- 使用ServletContextListener关闭Redisson连接
ServletContextListener 监听器 在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周 ...
- Linux---基础指令(一)
https://www.linuxprobe.com/chapter-02.html (Linux就要这么学) 一.执行查看帮助命令 date:date命令用于显示及设置系统的时间或日期,格式为“d ...
- 02.02.01 第1章 简介及基础操作(Power BI商业智能分析)
02.02.01.01 powerbi简介 00:10:59 02.02.01.02 query数据导入 00:03:26 具体操作实例如下: 02.02.01.03导入access数据 00:05: ...
- JSOI2018 简要题解
潜入行动 复杂度分析题. 定义状态fi,j,0/1,0/1f_{i,j,0/1,0/1}fi,j,0/1,0/1表示以iii为根子树放jjj个机器iii这个放不放,iii这个是否已放来进行dpdpd ...
- eclipse中opencv配置
1.打开Eclipse,Window->preferences 2.进入preferences后,找到Java->Build Path->User Libraries,点击New 在 ...
- JMeter接口压测——ServerAgent监控服务端性能指标
ServerAgent作为一个服务端性能监控插件,结合JMeter自身插件PerfMon可以实现JMeter压测的图形化实时监控,具有良好的实用性.下面讲解一个应用实例 思路: 1. 插件准备 2.打 ...
- iBtais 多重嵌套循环
iBatis支持集合循环, 但是如何做到双重循环, 请见下例子 例子描述: 需要去三张结构相同的表中获取信息, 需要将信息拼合去重后返回 入参数据类型: Map<String,Object> ...