刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(共25分)

阅读以下关于数据系统方面的叙述,在答题纸上回答问题1至问题3。


【说明】

某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。

为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。

【问题3】(6分)

缓存系统中的key—般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。

运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。

请用100字以内文字,给出解决该问题的两种不同思路。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

【问题3】

答案:

1.搭建高可用Redis集群,正式部署前提前进行数据预热,在大并发访问前加载缓存键并尽量均匀分布缓存过期时间;

2.将热点数据设置为永不过期,开启Redis的持久化功能,当Redis启动时,从磁盘恢复数据到缓存中。

解析:

缓存雪崩是指缓存中大量数据同时过期,导致大量请求直接打到数据库上,造成数据库压力过大甚至宕机。针对这个问题,有两种常见的解决思路。

第一种思路是通过搭建高可用的Redis集群来增强系统的健壮性。同时,通过提前进行数据预热,在大并发访问前将缓存键加载好,以避免大量请求同时访问数据库。此外,为了分散过期数据的压力,可以尽量均匀分布缓存的过期时间,防止同一时间大量数据过期。

第二种思路是针对热点数据,将其设置为永不过期,这样就不会因为过期而导致缓存失效。同时,开启Redis的持久化功能,将缓存数据保存到磁盘上。当Redis重启时,可以从磁盘恢复数据到缓存中,确保热点数据始终可用,避免瞬时大量访问导致的系统崩溃。

创作类型:
原创

本文链接:【问题3】(6分)缓存系统中的key—般会存在有效期,超过有效期则key失效;有时也会根据LRU算法

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share