导航:首页 > 数据处理 > 数据库崩了是什么原因

数据库崩了是什么原因

发布时间:2024-09-17 15:52:26

⑴ redis产生雪崩怎么解决



产生雪崩的原因:
缓存雪崩通俗简单的理解就是:由于原有缓存失效(或者数据未加载到缓存中),新缓存未到期间(缓存正常从Redis中获取,如下图)所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机,造成系统的崩溃。
基本解决思路如下:
第一,大多数系统设计者考虑用加锁或者队列的方式保证来保证不会有大量的线程对数据库一次性进行读写,避免缓存失效时对数据库造成太大的压力,虽然能够在一定的程度上缓解了数据库的压力但是与此同时又降低了系统的吞吐量。
第二,分析用户的行为,尽量让缓存失效的时间均匀分布。
第三,如果是因为某台缓存服务器宕机,可以考虑做主备,比如:redis主备,但是双缓存涉及到更新事务的问题,update可能读到脏数据,需要好好解决。
Redis雪崩效应的解决方案:
1、可以使用分布式锁,单机版的话本地锁
2、消息中间件方式
3、一级和二级缓存Redis+Ehchache
4、均摊分配Redis的key的失效时间
解释:
1、 当突然有大量请求到数据库服务器时候,进行请求限制。使用所的机制,保证只有一个线程(请求)操作。否则进行排队等待(集群分布式锁,单机本地锁)。减少服务器吞吐量,效率低。
加入锁!
保证只能有一个线程进入 实际上只能有一个请求在执行查询操作
也可以在此处进行使用限流的策略~
2、使用消息中间件解决
这种方案是最靠谱的方案!
消息中间件可以解决高并发!!!
如果大量的请求进行访问时候,Redis没有值的情况,会将查询的结果存放在消息中间件中(利用了MQ异步步特性)
3、做二级缓存,A1为原始缓存,A2为拷贝缓存,A1失效时,可以访问A2,A1缓存失效时间设置为短期,A2设置为长期(此点为补充)
4、不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀。
更多Redis相关知识,请访问Redis使用教程栏目!

阅读全文

与数据库崩了是什么原因相关的资料

热点内容
物联网应用技术可以去什么公司 浏览:599
杭州微盟代理商怎么申请 浏览:20
兰州常见碱类化工产品有哪些 浏览:988
学生人脸识别程序怎么用 浏览:296
159素食全餐佐丹力如何代理 浏览:827
小程序如何设置文章列表 浏览:477
微信景区预约小程序是什么来的 浏览:65
浏览器打印程序出错怎么办 浏览:62
技术入股增资怎么办 浏览:978
如何让顾客高价买同样的产品 浏览:257
桌面中的小程序怎么删除 浏览:926
京喜瓜分小程序怎么提取链接 浏览:457
如何删掉文本中的数据 浏览:588
全国预防针数据多少 浏览:989
qq群聊如何增加小程序 浏览:536
中山哪个市场有卖土猪肉 浏览:45
开数据的时候为什么这么卡 浏览:418
产品经理专业怎么报名 浏览:390
失落的方舟多少级能交易 浏览:75
邮政市场具有什么样的特征性 浏览:5