Redis6 新功能
509字约2分钟
2024-08-10
ACL
Redis ACL 是 Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。
Redis5 版本 之后,提供 ACL 的功能对用户进行更细粒度的权限控制
接入权限:用户名和密码
可以执行的命令
可以操作的 key
IO 多线程
IO 多线程其实指客户端交互部分的网络 IO 交互处理模块多线程,而非执行命令多线程。Redis 6 执行命令仍然是单线程。
多线程 IO 默认是不开启的,需要在配置文件中配置
io-threads-do-reads yes
io-threads 4
:线程数
工具支持 Cluster
老版本 Redis 想要搭建集群需要单据安装 ruby 环境,Redis5 将 redis-trib.rb 的功能集成到 redis-cli。另外官方 redis-benchmark 工具开始支持 cluster 模式了,通过多线程的方式对多个分片进行压测。
新功能持续关注
RESP3 新的 Redis 通信协议:优化服务端和客户端之间通信
Client side caching 客户端缓存:基于 RESP3 协议实现的客户端缓存功能。为了进一步提升缓存的性能,将客户端经常访问的数据 cache 到客户端。减少 TCP 网络交互
Proxy 集群代理模式:Proxy 功能,让 Cluster 拥有像单实例一样的接入方式,降低大家使用 cluster 的门槛。不过需要注意的是代理不改变 Cluster 的功能限制,不支持的命令还是不支持,比如跨 slot 的多 key 操作
Modules API:Redis6 中模块 API 开发进展非常大,因为 Redis Labs 为了开发复杂的功能,从一开始就用上 Redis 模块。Redis 可以变成一个框架,利用 Modules 来构建不同系统,而不需要从头开始写还要 BSD 许可。Redis 一开始就是一个向编写各种系统开发的平台