5、Redis6.0版的新特性
发布网友
发布时间:2022-12-13 19:42
我来回答
共1个回答
热心网友
时间:2024-11-29 01:21
redis在 6.0 版本之后更新了一些重要的新特性
6.0之前的redis 基本上 是一个单线程的,但并不是指只有一个线程,比如说执行 unlink 操作删除大key的时候( unlink 和 del 命令一样都是用来删除key,但是 unlink 是异步的,适合删除大的key),会有单独的线程完成,不然会阻塞主线程,还有慢的IO操作的时候,也会使用单独的线程完成,还有比如持久化的时候,也是会有单独的线程来实现
6.0之后增加了多线程的实现,多线程使用在io的操作上,工作线程还是只有一个单线程,还是串行实现的,多的io线程用于 读read 或者 写write ,
多线程不会同时执行读写操作。所有多出的线程要不是全部用于 读 ,要不全部都是用于 写 。
多线程的配置默认情况下是关闭的,需要通过配置开启
如果本地没有实现 JVM 缓存,那么在大并发的情况下对redis服务器也是一种考验,所以redis提出一种客户端缓存方案
主要实现过程如下图
可以根据命令和key来控制访问连接
在redis6之前,只能通过密码来控制,还有通过 rename 来调整高危命令 flushdb , keys* , shutdown 等命令的权限。
redis6之后,提供了更细粒度的权限控制
通过增加设置,在传输的时候使用 SSL 协议,确保传输过程的安全性
当 SSL 模块开启的时候,不能使用多线程
增加 RESP3 同行协议,优化服务端和客户端之间的通信