Redis 优化
Redis CPU占用率超过90%的原因
- 使用高风险的Redis命令
1 | keys, hgetall, mget, mset, hmset, hmset |
这些命令会操作大量的key,使用时间复杂度越高的命令,就会占用CPU时间越多。
- 热key
如果某个或者某部分的key被访问的次数很多,那么这个key就会变成一个热点key,占用的CPU时间就会很多。
大key
频繁建立短连接
其他
- AOF 写检查
- LUA脚本
- 慢查询
Redis优化
建立Redis的监控平台
禁用高风险的命令
避免使用短连接的方式访问Redis
排查优化大key, 拆分大key
调整写磁盘的频率,高峰期禁止写日志,流量不高时再写入日志
使用SSD磁盘
Redis常见问题及解决办法
击穿-设置分布锁/同步锁/设置永不过期
雪崩-随机过期/加锁排队
穿透-缓存空对象/布隆过滤器