一、Redis主从复制
主从复制架构只是用来解决数据的冗余备份,从节点只是用来同步数据
二、Redis哨兵机制(Hadoop HA)
哨兵Sentine机制
由一个或者多个哨兵(Sentinel)实例组成的Sentinel实例系统可以监视任意多个服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构。
三、Redis集群
redis集群是Redis数据库的一个分布式架构,旨在实现高可用性、可扩展性和高性能。
由多个主节点和从节点构成,每个主节点负责一定范围的哈希槽,从节点主要负责对数据的备份
四、穿透,雪崩,击穿
1.穿透
指的是用户查询时,redis中没有该数据,mysql中也没有,要查询的数据根本不存在
解决方案
最常用的:1.对空值进行缓存,这样当请求到达redis的时候,会直接返回一个null值,避免了再去访问数据库。
2.雪崩
指的是redis中大量的键过期,导致用户访问的这些过期数据需要去到数据库中查询
解决方案
最常用的:1.使用互斥锁:当多个请求访问这些过期数据的时候,只允许一个请求去访问数据库并查询,其他请求等待,并将查到的结果共享
2.设置多级架构缓存,添加多个缓存,这样请求就会先查第一层缓存,没有再去查第二层缓存,减少请求直接访问数据库(需要启动多个缓存架构)
3.击穿
指的是一个热点数据过期,但是仍然有大量用户去访问这个数据
解决方案
最常用的:1.监控数据,适时调整,监控哪些数据是热门的,实时调整key的过期时长
2.引入多级缓存,还有就是针对热点数据,可以提前进行预加载
五、发布订阅
有两种发布订阅模式
1.基于频道的发布订阅(Channel)
同一消息可以被多个订阅者订阅,也可以被取消
subscribe订阅一个或多个给定的频道
unsubscribe退订给定的频道
2.基于模式的发布订阅(pattern)
订阅者可以订阅所有(以某某名字)的频道
psubscribe订阅一个或多个给定模式的频道
punsubscribe退订所有给定模式的频道