Big Key就是某个key对应的value很大,占用的redis空间大,本质上是大value问题。比如用String类型的Key存放大体积二进制文件型数据用List数据结构保存热点新闻的评论列表,因为评论数爆发增长导致存放的元素多,value过大。
大key带来的影响
- Redis对请求任务的处理是串行的,大key问题可能导致阻塞后续的请求
- 读取单value较大时会占用服务器过多的带宽,client自身变慢的同时可能会影响服务器上的其他服务
查找大key
用redis-cli加上–bigkeys参数,可以找到某个实例的大key
解决大key
要解决Big Key问题,无非就是减小key对应的value值的大小
- 把一个大Key拆分成若干个小的k-v
- 用unlink命令对Redis中的大Key进行非阻塞式的删除清理
- 定期清理失效的数据