Redis是当前高并发场景下首选的分布式缓存组件,但是Redis并不是银弹,不合理的使用也会降低它的健康度,使Redis瞬间瘫痪。例如在系统开发过程中的不规范,经常会造成出现Redis Bigkey的情况,同时由于Redis主线程为单线程模型,Bigkey就会带来一些潜在隐患,比如:
- 集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有Bigkey的Redis节点占用内存多,QPS较高
- Bigkey相关的删除或者自动过期时,会出现QPS突降或者突升的情况,极端情况下,会造成主从复制异常,Redis服务阻塞无法响应请求
Bigkey的体积与删除耗时参考如下:
==================================================