Redis 优化

Redis CPU占用率超过90%的原因

  1. 使用高风险的Redis命令
1
keys, hgetall, mget, mset, hmset, hmset

这些命令会操作大量的key,使用时间复杂度越高的命令,就会占用CPU时间越多。

  1. 热key

如果某个或者某部分的key被访问的次数很多,那么这个key就会变成一个热点key,占用的CPU时间就会很多。

  1. 大key

  2. 频繁建立短连接

  3. 其他

  • AOF 写检查
  • LUA脚本
  • 慢查询

Redis优化

  1. 建立Redis的监控平台

  2. 禁用高风险的命令

  3. 避免使用短连接的方式访问Redis

  4. 排查优化大key, 拆分大key

  5. 调整写磁盘的频率,高峰期禁止写日志,流量不高时再写入日志

  6. 使用SSD磁盘

Redis常见问题及解决办法

  1. 击穿-设置分布锁/同步锁/设置永不过期

  2. 雪崩-随机过期/加锁排队

  3. 穿透-缓存空对象/布隆过滤器