如何解决缓存雪崩?

如何解决缓存雪崩?


对于“对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。”这种情况,非常好解决:


解决方法:在缓存的时候给过期时间加上一个随机值,这样就会大幅度的减少缓存在同一时间过期。


对于“Redis挂掉了,请求全部走数据库”这种情况,我们可以有以下的思路:


事发前:实现Redis的高可用(主从架构+Sentinel 或者Redis Cluster),尽量避免Redis挂掉这种情况发生。


事发中:万一Redis真的挂了,我们可以设置本地缓存(ehcache)+限流(hystrix),尽量避免我们的数据库被干掉(起码能保证我们的服务还是能正常工作的)


事发后:redis持久化,重启后自动从磁盘上加载数据,快速恢复缓存数据。

你可能感兴趣的:(如何解决缓存雪崩?)