Redis[9] Redis6核心特性介绍

Redis6引入了多线程以处理网络读写和协议解析,但命令执行仍保持单线程,避免并发问题。新增的ACL功能提供了用户权限控制,增强了安全性。客户端缓存机制类似浏览器缓存,便于静态资源更新和管理。官方建议根据机器核数合理配置线程数,以提升性能。
摘要由CSDN通过智能技术生成

Redis6核心特性介绍-多线程

新版Redis6特性讲解

  • 支持多线程

    • redis6多线程只是用来处理网络数据的读写和协议解析上,底层数据操作还是单线程
    • 执行命令仍然是单线程,之所以这么设计是不想因为多线程而变得复杂,需要去控制 key、lua、事务,LPUSH/LPOP 等等的并发问题
    • 默认不开启
    io-threads-do-reads yes
    io-threads 线程数
    
    • 官方建议 ( 线程数小于机器核数 )
      • 4 核的机器建议设置为 2 或 3 个线程
      • 8 核的建议设置为 4或6个线程,
  • 开启多线程后,是否会存在线程并发安全问题?

  • 不会有安全问题,Redis 的多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程顺序执行。

acl 权限控制

引入了 ACL(Access Control List)

  • 之前的redis没有用户的概念,redis6引入了acl
  • 可以给每个用户分配不同的权限来控制权限
  • 通过限制对命令和密钥的访问来提高安全性,以使不受信任的客户端无法访问
  • 提高操作安全性,以防止由于软件错误或人为错误而导致进程或人员访问 Redis,从而损坏数据或配置
  • 文档:https://redis.io/topics/acl
  • 常用命令
    • acl list 当前启用的 ACL 规则
    • acl cat 支持的权限分类列表
    • acl cat hash 返回指定类别中的命令
    • acl setuser 创建和修改用户命令
    • acl deluser 删除用户命令

客户端缓存

  • 新版Redis6特性讲解
    • client side caching客户端缓存
      • 类似浏览器缓存一样
        • 在服务器端更新了静态文件(如css、js、图片),能够在客户端得到及时的更新,但又不想让浏览器每次请求都从服务器端获取静态资源
        • 类似前端的-Expires、Last-Modified、Etag缓存控制
    • 文档:https://redis.io/topics/client-side-caching
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值