栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

十一、reids6.0新功能

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十一、reids6.0新功能

1、ACL

简介

ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些链接

在redis5之前,redis的安全规则只能密码控制,或者通过renmame来调整高危命令,如:flushdb,keys*,shutdown等。redis6提供了ACL的功能对用户进行更细粒度的权限控制:

1)接入权限:用户名和密码

2)可以执行的命令

3)可以操作的key 

命令acl list:展示用户权限列表

        

acl cat:显示具体命令可以通过acl创建用户并赋予权限acl whoami:查看当前用户

acl setuser 用户名:创建用户

设置用户,添加密码和权限并启用用户

切换用户,验证权限

 

提示没有权限

 

 2、IO多线程

 简介

IO多线程是指客户端交互部分的网络IO交互处理模块多线程,而并不是执行命令多线程,redis6执行命令仍然是单线程

reids加入多线程是为了处理网络数据的读写和协议解析,和memcached这种从IO处理到数据访问多线程的实现方式有差异

原理架构图

 

流程简述如下:

主线程负责接收建立连接请求,获取 Socket 放入全局等待读处理队列。主线程处理完读事件之后,通过 RR(Round Robin)将这些连接分配给这些 IO 线程。主线程阻塞等待 IO 线程读取 Socket 完毕。主线程通过单线程的方式执行请求命令,请求数据读取并解析完成,但并不执行。主线程阻塞等待 IO 线程将数据回写 Socket 完毕。解除绑定,清空等待队列。

该设计有如下特点:

IO 线程要么同时在读 Socket,要么同时在写,不会同时读或写。IO 线程只负责读写 Socket 解析命令,不负责命令处理。

Redis 6.0 默认是否开启了多线程?

否,在conf文件进行配置参数

io-threads-do-reads yes

io-threads 线程数

3、新的协议RESP3:优化客户端和服务端的通信 4、Client side caching:

基于RESP3协议实现的客户端缓存功能,将客户端经常访问的数据缓存到客户端,坚守TCP网络交互

5、Proxy集群代理模式:

让Cluster拥有像单实例一样的接入方式,但代理不改变cluster的功能限制,比如不支持跨slot的多key操作等

6、Modules API

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/752116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号