新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT > 数据库 > Redis

Redis 5.0新功能总结完整版

时间:2019-05-05 11:51:01  来源:  作者:

Redis5.0版是Redis产品的重大版本发布,我们先看一下它的最新特点:

新的流数据类型(Stream data type) https://redis.io/topics/streams-intro

新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs)

RDB 增加 LFU 和 LRU 信息

集群管理器从 Ruby (redis-trib.rb) 移植到了redis-cli 中的 C 语言代码

新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)

升级 Active defragmentation 至 v2 版本

增强 HyperLogLog 的实现

更好的内存统计报告

许多包含子命令的命令现在都有一个 HELP 子命令

客户端频繁连接和断开连接时,性能表现更好

许多错误修复和其他方面的改进

升级 Jemalloc 至 5.1 版本

引入 CLIENT UNBLOCK 和 CLIENT ID

新增 LOLWUT 命令 http://antirez.com/news/123

在不存在需要保持向后兼容性的地方,弃用 "slave" 术语

网络层中的差异优化

Lua 相关的改进

引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性

对 Redis 核心代码进行了重构并在许多方面进行了改进

Redis Stream

Redis stream本质上是个时序数据结构,具有如下特点:

每条记录是结构化、可扩展的对

每条记录在日志中有唯一标识,标识中包含了时间戳信息,单调递增

可以根据需要自动清理历史记录

保存在内存中,支持持久化

底层是修改版的radix tree,每个node存储了一个listpack。listpack是一块连续的内存block,用于序列化msg entry及相关元信息,如msg ID,使用了多种编码,用于节省内存,是ziplist的升级版。如果XADD每次添加的对中的field是一样的,那么field不会重复存储。

Redis 5.0新功能总结完整版

 

内存友好,对于简单的十几~几十字节的msg,100MB内存可以存储数百万个。listpack在内存和disk上的存储结构是一样的,所以stream数据在做RDB时效率非常高,0.3s,500w entries。

Redis Stream使用演示

Redis 5.0新功能总结完整版

 

Redis 5.0新功能总结完整版

 

发布消息

Redis 5.0新功能总结完整版

 

读取消息

Redis 5.0新功能总结完整版

 

阻塞读取

 

发布新消息

Redis 5.0新功能总结完整版

 

消息返回

Redis 5.0新功能总结完整版

 

创建消费组

Redis 5.0新功能总结完整版

 

通过消费组读取消息

Redis 5.0新功能总结完整版

 


Redis 5.0新功能总结完整版

 

Redis Stream使用场景

可用作时通信等,大数据分析,异地数据备份等

Redis 5.0新功能总结完整版

 

客户端可以平滑扩展,提高处理能力

Redis 5.0新功能总结完整版

 

Zpop

Sorted Sets 增加了类似List的pop命令:

ZPOPMAX 命令用于移除并弹出有序集合中分值最大的 count 个元素

ZPOPMIN 命令用于移除并弹出有序集合中分值最小的 count 个元素

BZPOPMAX 和 BZPOPMIN 是上述两个命令的阻塞变种

Redis 5.0新功能总结完整版

 

CLIENT:

Client id返回当前连接的ID,每个ID符合如下约束:

永不重复,可以判断当前链接是否断链过

单调递增,可以判断不同链接的接入顺序

Client unblock:

当客户端因为执行具有阻塞功能的命令(如BRPOP、XREAD或者WAIT)被阻塞时,该命令可以通过其他连接解除客户端的阻塞

Redis 5.0新功能总结完整版

 

阿里云Redis 5.0优势:

新增的stream数据结构,丰富的应用场景和想象空间

内核的改进和bugfix,使用更健壮

支持账号体系,根据账号用途赋予相应的权限,更加安全

审计日志,记录了读写操作、敏感操作(keys、flushall等)、慢日志、管理类命令,供用户查询

大key分析,基于快照的完整内存分析,更准确,直接输出内存消耗top排行的key

支持单机和集群版的平滑迁移
 

Tags:Redis   点击:()  评论:()
声明:本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
rdb文件是redis实现持久化方式的一种,即通过save或bgsave操作,执行数据备份,生成的.rdb后缀的数据文件。save和bgsave都是调用rdbSave实现备份的,只不过save是阻塞式,bgsave是非...【详细内容】
2019-05-05 11:51:01   点击:(8)  评论:(0)  加入收藏
为什么需要持久化呢?通常情况下redis的数据全部存储在内存中,数据库一旦故障发生重启数据会全部丢失,即使是在redis cluster或者redis sentinel模式下主从同步数据的恢复仍然...【详细内容】
2019-05-05 11:51:01   点击:(2)  评论:(0)  加入收藏
概述redis跟memcached类似,都是内存数据库,不过redis支持数据持久化,也就是说redis可以将内存中的数据同步到磁盘来持久化,以确保redis 的数据安全。不过持久化这块可能比较容易...【详细内容】
2019-05-05 11:51:01   点击:(3)  评论:(0)  加入收藏
一、热点Key问题产生的原因 二、热点Key问题的危害 三、解决方案 四、热点 key 处理 五、方案对比一、热点Key问题产生的原因1、用户消费的数据远大于生产的数据(热卖商品、...【详细内容】
2019-05-05 11:51:01   点击:(2)  评论:(0)  加入收藏
最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容...【详细内容】
2019-05-05 11:51:01   点击:(8)  评论:(0)  加入收藏
通过思维导图整理的Redis的重要知识点一、持久化 二、复制 三、阻塞 四、Redis内存 五、Redis内存优化 六、哨兵 七、缓存设计 ...【详细内容】
2019-05-05 11:51:01   点击:(4)  评论:(0)  加入收藏
Redis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hype...【详细内容】
2019-05-05 11:51:01   点击:(2)  评论:(0)  加入收藏
Redis5.0版是Redis产品的重大版本发布,我们先看一下它的最新特点:新的流数据类型(Stream data type) https://redis.io/topics/streams-intro新的 Redis 模块 API:定时器、集群...【详细内容】
2019-05-05 11:51:01   点击:(3)  评论:(0)  加入收藏
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。...【详细内容】
2019-05-05 11:51:01   点击:(6)  评论:(0)  加入收藏
Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lists,hashes,sets,sorted sets,bitmaps,hyperloglogs和geospatial indexes等数...【详细内容】
2019-05-05 11:51:01   点击:(7)  评论:(0)  加入收藏
推荐资讯
相关文章
栏目更新
栏目热门
'); })();