redis6新功能

1 ACL

Redis ACL是AccessControlList(访问控制表)的缩写,该功能允许根据可以执行的命令和访问的键来限制某些连接。

2 基本命令

acl help
> ACL help
 1) ACL <subcommand> arg arg ... arg. Subcommands are:
 2) LOAD                             -- 从ACL文件中重新载入用户信息.
 3) SAVE                             -- 保存当前的用户配置信息到ACL文件.
 4) LIST                             -- 以配置文件格式显示用户详细信息.
 5) USERS                            -- 列出所有注册的用户名.
 6) SETUSER <username> [attribs ...] -- 创建或则修改一个用户.
 7) GETUSER <username>               -- 得到一个用户的详细信息.
 8) DELUSER <username> [...]         -- 删除列表中的用户.
 9) CAT                              -- 列出可用的类别.
10) CAT <category>                   -- 列出指定类别中的命令.
11) GENPASS [<bits>]                 -- 生成一个安全的用户密码.
12) WHOAMI                           -- 返回当前的连接用户.
13) LOG [<count> | RESET]            -- 显示ACL日志条目.
acl list 查看当前用户列表
127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"

default表示用户名,

on表示是否启用,

表示密码 nopass表示无密码,

~*表示可以操作的key

+@表示可以执行的命令,+表示拥有,-表示缺少,all表示全部

&*表示可以使用的redis数据库编号

acl setuser user 添加或者修改用户
127.0.0.1:6379> acl setuser user1 on >password
OK
127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"
2) "user user1 on #5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 &* -@all"

后面还可以加上一系列权限,这里就不多演示了

修改默认用户密码
acl setuser default on >xxxx ~* &* +@all

注意修改之后需要手动auth default + 密码了,,不然输入什么命令都是没有权限,不要以为是权限设置错误导致的。。

2 IO多线程