在Redis的生产环境中,大量客户端连接请求某一个key,但都需要从DB中获取数据,来回写数据库,如下图:
造成的问题:
大量的线程请求数据库,造成数据库压力,还有就是请求会变慢。
解决办法:
在缓存层面做一个互斥锁,达到只有单个线程来更新数据的目的,但是响应还是很慢,只是db压力减轻
还可能因为操作不当而造成线程死锁问题。
(2)
key永不过期策略:
热点key不设置过期时间,但是存在一个逻辑过期时间,逻辑过期时间保存在key相应 的value中
若发现逻辑过期时间到期,则返回老值,异步更新value值,存在的缺点会导致数据的短暂不一致。 
Redis学习之热点key重建
最新推荐文章于 2025-02-26 22:05:28 发布
本文探讨了在高并发场景下,如何优化Redis缓存与数据库的同步机制,避免数据库压力过大及线程死锁问题,提出了使用互斥锁和逻辑过期时间的解决方案。
173万+

被折叠的 条评论
为什么被折叠?



