1. redis5.0新特性

1.1. 新的Stream类型

1.1.1. 什么是Stream数据类型

  1. 抽象数据日志
  2. 数据流

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命令

  1. XADD

    • 作用:创建一个stream
    • 用法:XADD key ID field string [field string ...]
    • ID:毫秒的unix时间戳 - sequence(同一毫秒的序列号)组成
    • XADD wangzhe * hero luban 创建默认id的key为hero的流数据
  2. XLEN
    • 作用:返回stream中元素的个数
    • 用法:XLEN key
  3. XDEL
    • 作用:删除id
    • 用法:XDEL key id,返回删除个数
  4. XRANGER
    • 作用:返回给定ID范围内的stream数据
    • 用法:XRANGE key start end [COUNT count]
    • 特殊ID:+:最大ID -:最小ID
  5. 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接收到最新数据,会显示阻塞时间
  6. XGROUP
    • 作用:创建一个Consumer Group
    • 用法:XGROUP CREATE key groupname ID
  7. 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特性

  1. XINFO help
  2. PUBSUB help
  3. XGROUP help
  4. ... help
  5. 有子命令的命令才可以用

1.16. redis集群

1.16.1. 创建集群数据存储文件

  1. mkdir -p /usr/local/redis-cluster
  2. mkdir 5001 5002 5003 5004 5005 5006
  3. 修改redis.conf配置文件,开启集群配置,aof配置等等
  4. 每个文件夹下配置的区别就在端口,统一命令修改
:1,$s/5001/5002/g
  1. 都启动完成后,创建六个子节点

    • 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. 动态添加节点

  1. ruby添加节点:redis-trib.rb add-node 192.168.4.147:5007 192.168.4.147:5001
  2. 新特性添加节点:redis-cli --cluster add-node 192.168.4.147:5007 192.168.4.147:5001
  3. 添加从节点:redis-cli --cluster add-node 192.168.4.147:5008 192.168.4.147:5001
  4. 在5008的client命令行里,cluster replicate 主节点,那么5008会成为该主节点的从节点

1.16.3. 分片

  1. ruby分片方法:redis-trib.rb reshard 192.168.4.147:5007
  2. 新特性分片方法:redis-cli --cluster reshard 192.168.4.147 5007

1.16.4. 删除节点

1.16.4.1. 删除从节点

  1. ruby删除方法:redis-trib.rb del-node 192.168.4.147 5008
  2. 新特性删除方法:redis-cli --cluster del-node 192.168.4.147 5008 主节点唯一id

1.16.4.2. 删除主节点(需要先把数据槽移动到其他节点,再删除主节点,防止数据丢失)

  1. ruby删除方法:redis-trib.rb reshard 192.168.4.147 5007
  2. 新特性删除方法:redis-cli --cluster reshard192.168.4.147 5007
  3. done

1.16.5. 新的Sorted Set

  1. ZPOPMAX

    • 作用:删除返回集合中分值最高的元素
    • 用法:ZPOPMAX key [count]
  2. ZPOPMIN
    • 作用:删除返回集合中分值最小的元素
    • 用法:ZPOPMIN key [count]
  3. 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. 在运行期进行自动内存碎片清理,释放内存空间
  2. 通过内存报告了解整个系统的内存使用情况

1.17.2. 使用

  1. 配置项中找到 activedefrag yes,去掉注解,它下面和它相关的注解都解开

1.17.3. 测试

  1. 使用debug populate 300000 imooc 1000 随机产生300000个key为imooc开头的 大小为1000的数据
  2. info memory 查看内存使用情况
  3. MEMORY STATS 查看内存详情
  4. memory usage imooc:1 查看键值占用内存

redis5.0新特性的更多相关文章

  1. Streams:深入理解Redis5.0新特性

    概述 相较于Redis4.0,Redis5.0增加了很多新的特性,而streams是其中最重要的特性之一.streams是redis 的一种基本数据结构,它是一个新的强大的支持多播的可持久化的消息队列 ...

  2. Redis系列 | Redis5.0 新特性

  3. Redis 6.0 新特性-多线程连环13问!

    Redis 6.0 来了 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之 ...

  4. 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?

    来源:微信公众号CodeL 今天给大家分享的内容基于前几天收到的一条留言信息,留言内容是这样的: 看了这位网友的留言相信有不少刚接触开发的童鞋们也会有同样的困惑,除了用新建类作为桥梁之外还有什么好的办 ...

  5. Java基础和JDK5.0新特性

    Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...

  6. Visual Studio 2015速递(1)——C#6.0新特性怎么用

    系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...

  7. 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 ...

  8. 背水一战 Windows 10 (1) - C# 6.0 新特性

    [源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...

  9. C# 7.0 新特性2: 本地方法

    本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 ...

随机推荐

  1. 使用struts2框架后的拦截器

    过滤特殊字符的过滤器 struts2会在web.xml中配置如下的过滤器: <filter> <filter-name>struts</filter-name> & ...

  2. Python之路(第三十六篇)并发编程:进程、同步异步、阻塞非阻塞

    一.理论基础 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的. 即使可以利用的cpu只有一个(早期的 ...

  3. HTML与盒模型

    EC前端 - HTML教程 HTML与盒模型 HTML结构 <!doctype html> <html> <head> <meta charset=" ...

  4. git学习笔记:常用命令总结

    本文根据廖雪峰的博客,记录下自己的学习笔记.主要记录常用的命令,包括仓库初始化.添加文件.提交修改.新建分支.内容暂存.分支管理.标签管理等内容. git是分布式版本控制系统. 首先是安装,从官网下载 ...

  5. Springboot & Mybatis 构建restful 服务四

    Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...

  6. 阿里巴巴Java编码规范插件安装使用指南

    编码规范插件安装使用指南 阿里技术公众号公布的<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,后又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来. 为了让开发 ...

  7. 使用kbmmw 的REST 服务实现上传大文件

    我们在使用kbmmw的REST 服务时,经常会下载和上传大文件.例如100M以上的.kbmmw的rest服务中 提供标准的文件下载,上传功能,基本上就是打开文件,发送,接收,没有做特殊处理.这些对于文 ...

  8. Web表现层

    目录 Web表现层调用过程... 2 延迟... 3 什么是延迟... 3 延迟的构成... 3 最基本的优化思路:... 4 Web表现层性能优化... 4 Web性能的基本指标... 4 Web性 ...

  9. String常用类

    一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...

  10. Win7 VS2017编译Audacity2.1.3

    最近比较热衷折腾大型开源软件编译,因为在逐渐用开源软件替换盗版软件,除去盗版用着不安全的原因外,主要还是因为开源软件有源码,可以学习研究,另外就是体积小. 像Matlab每次装完都用不上什么功能,体积 ...