举几个例子
看延迟 60 秒内的最大响应延迟:
慢日志(slowlog)
慢查询,就会导致后面的请求发生排队,对于客户端来说,响应延迟也会变长。
bigkey
大对象
集中过期
一般有两种方案来规避这个问题:
1.集中过期 key 增加一个随机过期时间,把集中过期的时间打散,降低 Redis 清理过期 key 的压力
2.如果你使用的 Redis 是 4.0 以上版本,可以开启 lazy-free 机制,当删除过期 key 时,把释放内存的操作放到后台线程中执行,避免阻塞主线程
fork耗时严重
主进程创建子进程,会调用操作系统提供的 fork 函数
使用Swap
当内存中的数据被换到磁盘上后,Redis 再访问这些数据时,就需要从磁盘上读取,访问磁盘的速度要比访问内存慢几百倍!
内存碎片
Redis 4.0 版本,它正好提供了自动碎片整理的功能,可以通过配置开启碎片自动整理