一 大KEY
1 标准
字符串类型:它的big体现在单个value值很大,一般认为超过10KB就是bigkey。
非字符串类型:哈希、列表、集合、有序集合,它们的big体现在元素个数太多
2 危害
1 写入/读取/淘汰删除/更新/备份 都会对实例本身造成较大的影响
2 造成redis-cluster的分配倾斜,导致某个节点分布过多
3 redis-cluster的迁移问题
4 redis4.0提供了异步删除的机制
3分析key
1 整体分析、
1 pip install rdbtools
2 /usr/local/python3/bin/rdb -c memory /home/ops/dump.rdb -l 100 -b (限制字节大小) -f memory.csv
3 建议在不服务的节点进行分析操作,本质是先进行BGSAVE,然后从文件中进行分析
2 单个key分析
redis-memory-for-key -s host -p port key_name
4 相应的解决方式
1 研发在业务层面进行拆解大key
2 从源码层进行更改,防止大key的写入