通知Redis最新版本更新介绍(redis 版本更新说明)
通知:Redis最新版本更新介绍
Redis是一款开源的内存数据结构存储系统,具有高性能、高可用性和可扩展性等优点,在网站缓存、消息队列、计数器、排行榜等场景中广泛使用。最新版本Redis 6.2.0已于2021年4月发布,本文将介绍其新特性和改进。
1.改进:新的LEX模块可按字典序排列集合和哈希对象
Redis 6.2.0中引入了一个新模块,称为高性能的LEX模块,它使用有序集合OrderedSet来实现按字典序排列的功能,同时也支持哈希对象HashObject。这个模块的优点是提供了基于字典序的快速查找和范围查询。
使用示例:
redis> FT.CREATE idx ON HASH PREFIX 1 doc: SCHEMA title TEXT sortable
redis> HSET doc:1 title "Redis quick start"redis> HSET doc:2 title "Redis persistence"
redis> LEX.ADD idx "Redis quick start" doc:1redis> LEX.ADD idx "Redis persistence" doc:2
redis> LEX.RANGE idx - + LIMIT 0 21) 1) "Redis persistence"
2) "doc:2"2) 1) "Redis quick start"
2) "doc:1"
2.改进:支持STREAMS的客户端缓存、acknowledgment和group
Redis 6.2.0进一步增强了支持多播订阅的STREAMS数据结构,客户端不再需要处理消息的acknowledgment细节,因为Redis现在会用特殊的ACK可见性字节在 STREAMS TTL内自动跟踪约定的消息确认状态。 当客户端接收到消息时会看到该消息的ID在 Redis 中是ACK可见的或未ACK可见的,并且它可以选择是否将消息发布到指定的消费者组。
使用示例:
redis> XADD mystream * sensor-id 1234 temperature 19.8
redis> XGROUP CREATE mystream mygroup $ MKSTREAMOK
redis> XREADGROUP GROUP mygroup myconsumer BLOCK 0 STREAMS mystream >1) 1) "mystream"
2) 1) 1) "1605847581466-0" 2) 1) "sensor-id"
2) "1234" 3) "temperature"
4) "19.8"redis> XACK mystream group1 1605847581466-0
(integer) 1
3.改进:多租户支持
Redis 6.2.0引入了多租户支持以对Redis实例进行分区和隔离,可通过设置密钥空间访问控制列表(ACL)来实现。与其他多租户解决方案不同的是,Redis提供的多租户方案可以针对单个数据类型进行分区和隔离。这意味着我们可以将一个实例的不同数据类型分配给不同的租户,并对这些数据分别进行访问控制。
使用示例:
redis> ACL SETUSER alice on +@a
redis> ACL SETUSER bob on -@bredis> SET a:1 "value1"
OKredis> SET b:1 "value2"
(error) DENIED Redis ACLs: specified command not allowed for the current user/profile combinationredis> USER alice
OKredis> SET b:1 "value2"
(error) DENIED Redis ACLs: specified key is not allowed for the current user
4.改进:SHELL命令的支持
Redis 6.2.0在redis-cli终端发生器中增加了对操作系统命令的支持,使用 ! 进入shell模式后,您可以运行大多数与Redis-cli相同的操作系统命令,如ls,pwd,cd等。
使用示例:
127.0.0.1:6379> !ls
redis.conf redis.pid redis.log dump.rdb
总结
Redis 6.2.0版本增加了许多新功能和改进,例如新的LEX模块、增强的STREAMS支持、多租户支持和SHELL命令支持。这些改进为Redis的用户提供了更好的体验和更高效的操作。如果您想了解更多Redis的相关信息,可以访问官方网站 https://redis.io/ 。