十四. Redis 新功能
十四. Redis 新功能@
目录
[*]十四. Redis 新功能
[*]1. ACL
[*]2. IO多线程
[*]3. 工具支持 Cluster
[*]4. 其它新功能-介绍
[*]5. 末了:
1. ACL
ACL 参考官网:https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737348-804697177.png
ACL 根本介绍:
[*]Redis ACL 是Access Control List(访问控制列表) 的缩写,该功能限制可以执行的命令和可以访问的键。
[*]在 Redis 5 版本之前,Redis 安全规则只有暗码控制,还有通过 rename 来调整高危命令比如 flushdb,KEYS* ,shutdown 等。
[*]Redis 6 则提供 ACL 的功能对用户举行更细粒度的权限控制:
[*]接入权限:用户名和暗码
[*]可以执行的命令
[*]可以操作的 KEY
常用的 ACL 指令:
[*]acl list 命令显现用户权限列表
127.0.0.1:6379> acl listhttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737499-200670374.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737266-2065799512.png
[*]acl cat命令,查看添加权限指令类型
127.0.0.1:6379> acl cathttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737432-417586154.png
带上参数类型名,可以查看该类型可以执行的指令
127.0.0.1:6379> acl cat stringhttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737530-1001363755.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737434-1788048236.png
[*]acl whoami 命令查看当前用户
127.0.0.1:6379> acl whoamihttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737423-1081483946.png
[*]acl setuser 命令创建和编辑用户 acl
acl setuser 命令创建和编辑用户 ACL
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737577-2126259574.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737252-671755939.png
操作演示:
[*]通过命令创建新用户默认权限
127.0.0.1:6379> acl setuser tomhttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737470-1710452198.png
在上面的示例钟,没有指定规则
如果用户不存在,将使用 just created 的默认属性来创建用户。
如果用户已经存在,则上面的命令将不执行任何操作。
[*]设置有用户名,暗码 ,ACL权限,并启用该用户
127.0.0.1:6379> acl setuser jack on >123456 ~cached*:* +gethttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737501-1223469157.png
指令 acl setuser jack on >123456 ~cached*:* +get
jack:用户名
on :表示启用
>123456 :表示暗码就是 123456
~cached:*:表示只能操作的 key是以 cached: 开头的
+get :表示操作的指令只能是 get
127.0.0.1:6379> auth jack 123https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737527-1664953443.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737329-1890522439.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737381-311357461.png
[*]给 jack 用户增加权限/删除用户
127.0.0.1:6379> acl setuser jack +set https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737371-2140937158.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737215-743953474.png
127.0.0.1:6379> acl deluser tomhttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737255-1328043207.png
2. IO多线程
[*]IO多线程是指和客户端交互时,网络IO交互处置惩罚模块多线程,而非执行命令多线程。
[*]Redis6 执行命令依然是单线程。
[*]也就是说,Redis 和客户端的交互是多线程,在执行指令的时候,仍旧是单线程 + IO多路复用。
原理架构:
Redis 6 参加多线程,Redis 的多线程部分只用来处置惩罚网络数据的读写和协议解析,执行命令仍旧是单线程。之所以这么设计是不想因为多线程而变得复杂,必要去控制 key ,lua,事务,LPUSH/LPOP等等的并发题目。整体的设计大致如下:
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737432-536801973.png
多线程 IO默认也是不开开启的,必要再配置文件 redis.conf 中配置 io-threds-do-reads yesio-threads 4 才行。
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737351-1603391860.png
io-threads 4
io-threads-do-reads yes3. 工具支持 Cluster
[*]如果之前的老版本的 Redis 想要搭集群必要单独安装 ruby 环境。
[*]Redis 5 将 redis-trib.rb 的功能集成到 redis-cli
[*]别的官方redis-benchmark 工具(性能测试工具,它可以模拟N个客户端同时向 Redis 发送 M条查询命令的应用场景) 开始支持 cluster模式了,通过多线程的方式对多个分片举行压测。
[*]查看-如图:
# redis-benchmark --helphttps://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737321-1881112638.png
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737449-2085345541.png
4. 其它新功能-介绍
[*]RESP3 新的 Redis 通信协议:优化服务端与客户端之间通信。
[*]Client side caching 客户端缓存:基于 RESP3 协议实现的客户端缓存功能。为了进一步提升缓存的性能,将客户端经常访问的数据 cache 到客户端。减少 TCP 网络交互。
[*]Proxy 集群代理模式:Proxy 功能,让 Cluster 拥有像单例一样的接入方式,降低各人使用 cluster 的门槛。
[*]Modules API
Redis 6中模块API开辟进展非常大,Redis 可以酿成一个框架,使用 Moudles 来构建不同系统,而不必要从头开始写。Redis 一开始就是一个面向编写各种系统开放的平台。
5. 末了:
“在这个末了的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继承在其他的领域奋斗。感谢你们,我们总会在某个时候再次相遇。”
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250209222737493-1185374738.gif
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]