-
获取Redis实例在当前环境下的基线性能。
- 是否?了慢查询命令?(Redis命令或者latency monitor?具)如果是的话,就使用其他的命令代替慢查询,或者把聚合计算的命令放在客户端做
-
是否对过期key设置了相同的过期时间?对于批量删除的key,可以在每个key的过期时间上加?个随机
数,避免同时删除。
-
是否存在bigkey? 对于bigkey的删除操作,如果你的Redis是4.0及以上的版本,可以直接利?异步线程
机制减少主线程阻塞;如果是Redis 4.0以前的版本,可以使?SCAN命令迭代删除;对于bigkey的集合查
询和聚合操作,可以使?SCAN命令在客?端完成。
-
Redis AOF配置级别是什么?业务层?是否的确需要这?可靠性级别?如果我们需要?性能,同时也允许
数据丢失,可以将配置项no-appendfsync-on-rewrite设置为yes,避免AOF重写和fsync竞争磁盘IO资
源,导致Redis延迟增加。当然, 如果既需要?性能?需要?可靠性,最好使??速固态盘作为AOF?志
的写?盘。
-
Redis实例的内存使?是否过??发?swap了吗?如果是的话,就增加机器内存,或者是使?Redis集
群,分摊单机Redis的键值对数量和内存压?。同时,要避免出现Redis和其他内存需求?的应?共享机
器的情况。
-
在Redis实例的运?环境中,是否启?了透明??机制?如果是的话,直接关闭内存??机制就?了。
-
是否运?了Redis主从集群?如果是的话,把主库实例的数据量??控制在2~4GB,以免主从复制时,从
库因加载?的RDB?件?阻塞。
-
是否使?了多核CPU或NUMA架构的机器运?Redis实例?使?多核CPU时,可以给Redis实例绑定物理
核;使?NUMA架构时,注意把Redis实例和?络中断处理程序运?在同?个CPU Socket上。