redis中什么是穿透与雪崩
创始人
2024-12-23 22:42:02
0次

redis穿透与雪崩?

  1.穿透:

  理解:当redis作用于数据缓存的时候,缓存的数据来源于db,而当由于key在redis中未获取到value时,则逻辑代码会从数据库中获取value,这种现象叫做缓存穿透。

  若存在大量key穿过缓存,从db获取value,则会导致数据库压力剧增,甚至瘫痪。

  方案:a.当出现大量无效key时,会从数据库获取value,使用分布式互斥锁对loaddb进行控制。

  b.对请求进行验证,判断是否是有效的key,比如布隆过滤器。

  c.无论key是否取到值,直接返回null。对不太稳定的缓存设置过期时间,如果缓存过期,异步起一个线程从db中获取数据。

  比较:待补充

  2。雪崩:

  理解:redis服务器宕机

  方案:redis集群,主从复制,哨兵模式,redis-cluster

  比较:

  主从复制:读写分离,一旦主机宕机,需要手动进行从机升级,并且容易出现短时间无法写的问题

  哨兵模式:完善读写分离的技术,实现当主机宕机后,自动进行master选举,但数据集中在master中,当master压力过大,很难扩容,通过哨兵+主从复制可以实现redis的高可用,但

  很难实现高并发即分散服务器压力,在对并发量要求不大,推荐使用

  redis-cluster:可实现高可用,高并发,扩容,缩容,maseter选举,在高并发情况下,首选cluster搭建redis集群。

  ##redis主从复制与哨兵模式搭配使用:前者提供高可用,后者提供master选举

  ##redis-cluster=主从复制+哨兵模式+高并发+可扩展。

  1.下载redis

  2.安装gcc执行make命令安装redis

  主从复制:

  启动多个redis,slaveofipport设置master,inforeplication查看redis主从信息

  注意项:1.当master存在密码是slave必须配置文件masterauth设置主机的密码,或者使用configsetmasterauth手动设置密码,不然即使slaveof执

  行成功,master-link-status显示为down,设置完masterauth密码后则显示up。

  2.当主从复制,master宕机,必须手动切换slave为master不然从机不会进行master选举,从机master-link-status变成down,会一直等待master启动,master-link-

  status恢复成up

  3.master默认可写可读,slave默认只读,可以修改slave-read-onlyyes:只读no:读写

  哨兵模式:master宕机自动选举master

  注意项:master宕机重启后会作为slave自动同步到选举后的master上,大件事master和slave密码要保持一致,不然选举后将slave切换成maseter会因此失败。

  cluster集群:密码也需要保持一致,而且需要修改/usr/local/share/gems/gems/redis-3.3.3/lib/redis/client.rb

  (https://img2018.cnblogs.com/blog/1909126/201912/1909126-20191229210642240-329425897.png)修改成正确的密码即可

  cluster:每个key通过CRC16(key)%16384来决定放置哪个槽,共有16384个槽被分配到不同的master中(slave中是没有分配曹的),从而将key放入对应的master中,当master

  宕机,其slave会升级成为master,并将原master的曹与数据转移到新的master上。

  扩容:就是添加新的master-slave让后将其他master的槽分摊给新家的master即可,槽中的数据也会随之转移。

  缩容:相反。

  命令:查看集群节点

  clusternodes

  查看key对应的slot

  clusterkeyslotkey

  查看slot和节点的对应关系

  clusterslots

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...