2.20 每日总结 (学习Redis)
今天学习面试题:
MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
缓存淘汰策略
- Redis 本身支持 LRU 策略,可以通过配置
maxmemory和maxmemory-policy来启用。 - 例如,在 Redis 配置文件中设置:
maxmemory 200mb # 限制 Redis 使用 200MB 内存 maxmemory-policy allkeys-lru # 对所有键启用 LRU 淘汰策略 - 这样 Redis 会自动淘汰最近最少使用的数据,保留最常访问的热点数据。
过期机制
- 为 Redis 中的数据设置合理的过期时间(TTL),确保长时间未被访问的数据会被自动清理。
- 可以根据业务需求动态调整 TTL,比如热点数据的 TTL 设置较长,非热点数据的 TTL 设置较短。
3. 基于业务逻辑的缓存更新
- 在业务代码中实现缓存更新逻辑,优先缓存高访问频率的数据。
- 例如,可以在查询数据库时,将访问次数最多的数据写入 Redis,并定期清理低访问量的数据。

浙公网安备 33010602011771号