Redis6新特性
之前一直听别人说redis6出了,还实现了多线程,以后面试官问redis是单线程还是多线程
这样的问题肯定要涨10个百分点,今天就结合antirez
的博客和github文档看看redis到底实现了什么新技能。先看下antirez的概览:
- 许多新的模块API。
- 更好过期算法。
- SSL支持。
- ACL支持。
- 新的RESP3协议。
- 客户端缓存。
- 多线程I/O。
- 副本的无盘复制。
- redis-benchmark支持和redis-cli改进。
- Systemd 支持重写。
- redis集群代理的发布。
- disque模块的发布。
我们分别来看看redis每个特性的主要特点。
ACL
在redis6以前,无法进行用户权限管理,只有一个auth
密码验证的功能,如果验证码通过那么就是root权限,如果我们想要禁用一些redis指令,只能使用rename
将原指令名字修改,这样做很不方便。而在redis6中引入了ACL模块,可以定制不同用户的权限,包括:
- 用户名和密码。
- 可以执行的指令。
- 可以操作的key。
root密码登入的用户名为default
,查看ACL列表的指令为:ACL LIST
。
127.0.0.1:6379> acl list
# 格式为:user 用户名 on 密码(如果没有密码那么为nopass) 可以执行的指令 可以操作的key
1) "user default on #06f2fc19c20fc7aae5e74974e7ea85fab4093055564939ebf2102d9ed3d13afc ~* +@all"
2)