文章目录
Redis6.0新功能
一、ACL
简介
Redis ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。
在Redis 5 版本之前,Redis安全规则只有密码控制还有通过rename来调整高危命令比如flushdb,keys *,shutdown等,Redis 6则提供ACL的功能对用户进行更细粒度的权限控制:
①接入权限:用户名和密码;
②可以执行的命令;
③可以操作的key;
1、使用acl list命令展现用户权限列表
数据说明:
2、使用acl cat命令
1)查看添加权限指令类别
2)加参数类型名可以查看类型下具体命令
3、使用acl whoami命令查看当前用户
4、使用acl setuser命令创建和编辑用户acl
1)创建用户
2)设置有用户名、密码、ACL权限、并启用的用户
可以看到jack用户已经添加并启用,密码为123456,设置了只能操作以cached:开头的get命令。
切换到jack用户:
可以看到不能执行其他命令,执行get cached:age返回值为空,证明可以执行。
二、IO多线程
简介
Redis 6 支持多线程,该别单线程了吗?
IO多线程其实是指客户端交互部分的网络IO交互处理模块多线程,而非执行命令多线程。Redis 6执行命令依然是单线程。
原理架构
另外,多线程IO默认也是不开启的,需要在配置文件中配置
io-threads-do-reads yes
io-thread 线程数
三、工具支持cluster
之前老版redis想要搭建集群需要单独安装ruby环境,redis 5将redis-trib.rb的功能集成到redis-cli。另外官方redis-benchmark工具开始支持cluster模式了,通过多线程的方式对多个分片进行压测。