面试再次被吊打系列 - Redis缓存血崩

小张兴冲冲去面试,结果因为redis的缓存雪崩问题被面试官拒绝!小张:面试官,你好。我是来参加面试的。面试官:你好,小张。我看了你的简历,你们平时在项目中用了redis,能说一下你们使用redis的场景吗?小张:redis的话我们主要是用来存储一些常用的配置类数据还有一些热点数据;还有存储一些到期失效的数据,比如登录用户颁发的token等。面试官:那好,既然你们用来存储热点数据。那么我来问你个实际场景,「查询热点数据的时候会先从缓存加载,如果缓存没有命中则会检索数据库获取数据。往往我们还会给热点.
摘要由CSDN通过智能技术生成

小张兴冲冲去面试,结果因为redis的缓存雪崩问题被面试官拒绝!

小张:面试官,你好。我是来参加面试的。

面试官:你好,小张。我看了你的简历,你们平时在项目中用了redis,能说一下你们使用redis的场景吗?

小张:redis的话我们主要是用来存储一些常用的配置类数据还有一些热点数据;还有存储一些到期失效的数据,比如登录用户颁发的token等。

面试官:那好,既然你们用来存储热点数据。那么我来问你个实际场景,「查询热点数据的时候会先从缓存加载,如果缓存没有命中则会检索数据库获取数据。往往我们还会给热点缓存数据设置一个过期时间。那么我的问题是,假设在某一时间点热点缓存全部过期失效了,这样所有的请求都会直接进入数据库,一瞬间就会把数据库压垮,如果是你会怎么解决这个问题?」

小张:emm…面试官,我肚子有点不舒服,我先回去了。小张卒!

面试官:因为缓存同一时间大面积的失效,或者缓存服务暂时不能提供服务等,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。这一现象被称之为 「缓存雪崩」

缓存血崩可以通过以下四个维度来解决:

  • 「缓存预热」

数据加热的含义就是在正式部署之前,先

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
在Go微服务中使用Redis缓存是一种常见的做法。通过引入动态缓存配置文件和初始化dynamic_cache.go中的公有值,可以实现对Redis缓存的配置和初始化。在配置文件中使用include命令引入动态缓存配置文件(dynamicache.conf),可以更方便地管理和修改缓存配置。在sysinit/sysinit.go文件中,有一个函数initDynamicCache用于初始化dynamic_cache.go中的公有值,并初始化Redis配置。可以通过设置MaxOpen、MaxIdle和ExpireSec等参数来配置Redis缓存的最大连接数、最大空闲连接数和缓存过期时间。通过调用dynamicache.InitCache()方法来初始化Redis缓存。这样就可以在Go微服务中使用go-redis缓存了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [go-redis-cache:使用Redis缓存进行微服务](https://download.csdn.net/download/weixin_42131628/16618478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Go项目优化——动态缓存Redis的使用](https://blog.csdn.net/weixin_52000204/article/details/127338089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图灵课堂诸葛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值