Redis 缓存穿透之监控解决方法

                                               Redis 缓存穿透之监控解决方法

                                                                                                         李万鸿2020-6-1

 

 

    Redis的缓存穿透是个常见问题,会给数据库造成雪崩压力,一般解决办法是加锁和双缓存,代价较大,只要努力思考探索,总有办法解决。这里给出一个新思路,用监控线程来解决此问题。

  开发一个monitor线程,对存入的key的超时进行统一监控,当有key写入redis时,记录下key、expire和createTime,然后定时如30秒比较一次所有的key的超时,if(now()-createTime>

Expire-30000),现在的时间减去设置key的时间大于超时的时间减去30秒,那么就需要在redis重设这个key,防止失效,再更新这个key的线程保存的key、expire和createTime这3个数据。

   这样redis的数据一致有效,从而防止大量key同时失效造成数据库雪崩压力。此方法简单有效,值得采用。欢迎讨论商榷,谢谢您!

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_34231800/article/details/106479824