Redis[9] Redis6核心特性介绍

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

おすすめ

転載: blog.csdn.net/qq_41852212/article/details/121296537