redis缓存过期key优化

背景

redis集群大量key写入和大量key过期,运行一段时间,内存告急,并发出告警。

原因

  • 为啥设置了expire过期key,内存没有释放
    • key设置过期时间了,ttl为0后并不会自行删除该key,而是等到下次访问该key发现已过期,才会删除。
    • 命令keys "*" 会瞬间释放所有过期key,但是有风险。慎行。
    • 其实缓存是在释放的,只不过是没有那么快,释放的快慢取决于redis.conf中的hz参数默认为5,意思是每秒执行5次删除过期key。所以在redis过期较多的场景可以适当调大。并观察cpu是否升高。

解决方法

  • 过期key删除频率 观察cpu 内存
    • config set hz 20

相关文章:

  • 2021-11-01
  • 2022-12-23
  • 2021-05-30
  • 2022-02-01
  • 2021-05-23
  • 2022-12-23
  • 2022-01-18
猜你喜欢
  • 2022-12-23
  • 2021-10-05
  • 2021-10-14
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
相关资源
相似解决方案