一、ACL
介绍:Redis ACL是Access Control list(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接
在Redis5版本之前,Redis安全规则只有密码控制,还有通过rename来调整高危命令比如flushdb,keys *,shutdown等。Redis6则提供了能对用户进行更细粒度的权限控制。
(1)接入权限:用户和密码
(2)可以执行的命令
(3)可以操作的KEY
命令:
1>使用acl list命令展示用户权限列表
127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"
default:用户名
on/off :是否启用
nopass:没密码
~*:可操作的key
all:可执行的命令
2>使用acl cat命令
查看添加权限指令类别
3>通过命令创建新用户默认权限
acl setuser user1
4>使用acl whoami 命令查看当前用户
5>设置有用户名、密码、ACL权限,并启用的用户
acl setuser user2 on >password ~cached:* +get
6>切换用户
auth marry password
二、IO多线程
介绍:IO多线程其实是指客户端交互部分的网络IO交互处理模块多线程,而非执行命令多线程,Redis命令依然是单线程;Redis的多线程部分只是用来处理网络数据的读写和协议解析。
默认不开启,需要修改配置文件中以下两个配置
# io-threads-do-reads no
# io-threads 4
三、工具支持Cluster
之前老版本Redis想要搭建集群需要单独安装ruby环境,Redis5将redis-trib.rb的功能集成到了redis-cli。另外官方redis-benchmark工具开始支持cluster模式了,通过多线程的方式对多个分片进行压测