新一代Redis6.X新特性,快来围观吧!

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新一代Redis6.X新特性,快来围观吧!相关的知识,希望对你有一定的参考价值。

01 背景

  分布式缓存Redis这个技术大家都知道,基本高并发项目里面都离不开这个。当然,也有不少同学还没用过Redis,这个文章看后你就知道如何学习了 !

 在多数互联网公司中,Redis6.X占有率很高,不管是面试还是工作都是不离开的,在座的各位或多或少有使用这个技术,但是对于这个Redis是否有系统去学习掌握呢?
在这里插入图片描述
  关于新版本Redis6.X已经推出一段时间了,然而很多公司依旧停留在老的版本上面,那问题也比较多。现在不少公司还在使用旧版的Redis4.X,这个正常,有些是老的项目由于各种成本问题,就没去升级新的Redis。

  这个也导致了开发人员一直没去了解新特性,自己也没实际去操作过,虽然安装安装了Redis6,但是没去了解新特性,导致还是使用了老的方式去使用。

  就比如构建Redis Cluster集群,旧版本的需要使用ruby语言进行构建,新版Redis5之后直接用redis-cli就可以快速创建了。

02 Redis6新特性

  新版本的Redis6加了很多新特性,我这边简单列举下,这边快速帮大家理清下常见的几个重要新特性。
在这里插入图片描述
重要新特性一:支持多线程

  1、redis6多线程只是用来处理网络数据的读写和协议解析上,底层数据操作还是单线程,默认不开启

  2、执行命令仍然是单线程,之所以这么设计是不想因为多线程而变得复杂,需要去控制 key、lua、事务,LPUSH/LPOP 等等的并发问题

  3、官方建议 ( 线程数小于机器核数 ) 4 核的机器建议设置为 2 或 3 个线程,8 核的建议设置为 4或6个线程
  4、开启多线程后,是否会存在线程并发安全问题?
    不会有安全问题,Redis 的多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程顺序执行。

重要新特性二:引入了 ACL(Access Control List)

  1、之前的redis没有用户的概念,redis6引入了acl

  2、可以给每个用户分配不同的权限来控制权限

  3、通过限制对命令和密钥的访问来提高安全性,以使不受信任的客户端无法访问

  4、提高操作安全性,以防止由于软件错误或人为错误而导致进程或人员访问 Redis,从而损坏数据或配置

  5、文档:https://redis.io/topics/acl

  6、常用命令 :

acl list 当前启用的 ACL 规则
acl cat 支持的权限分类列表
acl cat hash 返回指定类别中的命令
acl setuser 创建和修改用户命令
acl deluser 删除用户命令

重要新特性三:支持多线程

  1、类似浏览器缓存一样 (支持两种模式)

  在服务器端更新了静态文件(如css、js、图片),能够在客户端得到及时的更新,但又不想让浏览器每次请求都从服务器端获取静态资源,类似前端的-Expires、Last-Modified、Etag缓存控制

  2、文档:https://redis.io/topics/client-side-caching
在这里插入图片描述
  3、默认模式

  Server 端全局唯一的表(Invalidation Table)记录每个Client访问的Key,当发生变更时,向client推送数据过期消息

  优点:只对Client发送其访问过的被修改的数据

  缺点:Server端需要额外存储较大的数据量

  4、广播模式

  客户端订阅key前缀的广播,服务端记录key前缀与client的对应关系。当相匹配的key发生变化时通知client

  优点:服务端记录信息比较少

  缺点:client会收到自己未访问过的key的失效通知

03 进一步延伸

  除了很多Redis新特性外,框架本身的设计思想我们就可以借鉴,它里面的话有很多的精髓,我们是可以参考。特别是当我们需要开发一些中间件的时候,就可以参考里面的设计思想,让可以达到事半功倍的效果,

  举个多几个“栗子”:

  1、数据持久化AOF/RDB、为什么要有两种机制?分别的应用场景在哪里?

  2、Redis中Key过期后如何删除,如果让你设计一个缓存中间件的时候你会怎么设计过期删除策略?

  3、内存不足的时候,Redis是如何淘汰对应的key,如果让你去设计这个key的淘汰策略会怎么做?

  4、主从复制的时候,可以如果主从延迟久的话,你会增量复制还是全量复制,这个思想可以哪里使用?

  5、Reidis主从可以提升读能力,解决单点故障问题,但是写能力如何提升呢?

  6、一致性Hash分区很火爆,为啥Redis不采用一致性Hash分区而使用自定义的虚拟哈希槽呢?

  …

04 从小白到专家

【分布式缓存Redis6.X+高可用集群】
  针对上面N种知识点,这边推荐一个全方位Redis6.X视频给大家,本套课程是2021年全新录制,从0到1讲解分布式缓存Redis6.x,多种核心数据结构,零基础掌握Redis6.X核心基础+高级知识点。

  不止讲解Redis核心数据结构,超多案例实战:图形验证码/商品热点数据/日销榜单/电商购物车/用户画像/社交应用/积分实时榜单/多场景分页缓存等,还整合当下新版热门框架SpringBoot2.X+SpringCache框架实战;
在这里插入图片描述

05 Get It !

  地址链接:https://app8hbvnrpe5761.h5.xiaoeknow.com/v1/goods/goods_detail/p_60c1ec2ee4b0c726421e30ef?share_user_id=u_60c849fa6fa92_DT90p1eufB&share_type=5&scene=%E9%82%80%E8%AF%B7%E9%93%BE%E6%8E%A5&sw=1
在这里插入图片描述

以上是关于新一代Redis6.X新特性,快来围观吧!的主要内容,如果未能解决你的问题,请参考以下文章

Go1.14发布了,快来围观新的特性啦

安卓9.0新特性!小伙伴们一起来抢先体验吧

基于Redis6.2.6版本部署Redis Cluster集群 #yyds干货盘点#

重磅!阿里云MongoDB 5.0发布,速来围观新特性

卷死了!再不学vue3就没有人要你了!速来围观vue3新特性

甲骨文大学网络直播:聚焦Oracle Database 12c新特性