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: 模式匹配 ...
随机推荐
- SSH 免密码登陆到多台机器
场景: 需要从主机1.100免密码多了到1.115及1.116 实现: 登陆1.100 $ cd ~/.ssh/ $ ssh-keygen -t rsa 然后三个回车 会有两个文件产生,id_rsa ...
- Python json.dumps 自定义序列化操作
def login_ajax(request): if request.method == "GET": return render(request, 'login_ajax.ht ...
- pycharm设置文件编码
原文链接
- VB编程中的“Abs”是什么意思?
c = Val(Text1.Text) '将Text1中的值赋给cIf c = Abs(a - b) Then 'Abs(a - b)是a和b间的差(正数),判断c是否等于该差值f = f + 10 ...
- ASP.NET MVC4添加区域视图 找到多个与名为“home”的控制器匹配的类型
今天在项目中遇到一个问题,在MVC下想建立一个区域的后台Boss视图,出现了"找到多个与名为“home”的控制器匹配的类型"的问题,希望下面的解决方案能够帮助到大家 这是网站的整体 ...
- sourceInsight4 完美破解
sourceInsight4 完美破解 参考路径: https://blog.csdn.net/zxy020/article/details/75047670 首先确保你在官网下载了原版4.0并安装好 ...
- Springboot Application 集成 OSGI 框架开发
内容来源:https://www.ibm.com/developerworks/cn/java/j-springboot-application-integrated-osgi-framework-d ...
- 通过java读取excle数据的方法,今天用到了留下来供以后参考使用
近期项目属于一个棋牌类项目 用到的配置表比较多 所以在这里 贴一下代码,留下来可以参考.也希望对有需要的朋友有所帮助哦 >1.需求将一个excle表格中的数据 读取 然后封装成自定义的对象,本项 ...
- linux sort排序命令的高级用法(按多个列值进行排列)
http://www.jquerycn.cn/a_9076 在linux中,使用sort按行进行排序是很简单的.不过有时,生活总是爱抛给你一个一个的问题.如果使用sort按多个列值排列,同时使用tab ...
- IOS 视频.图片上传服务器
//上传视频 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.requestSerializer. ...