redis大key删除时会造成整库堵塞,该问题如何优化?

参与17

3同行回答

jwhdhrjwhdhr软件开发工程师农商银行
直接删除大key是有风险的,key过大,直接删除时会导致Redis阻塞,不同类型的大key有不同的删除方式,Large Hash Key 可使用hscan命令,每次获取500个字段,再用hdel命令,每次删除1个字段。Large Set Key 可使用sscan命令,每次扫描集合中500个元素,再用srem命令每次删除一个键。Large Li...显示全部

直接删除大key是有风险的,key过大,直接删除时会导致Redis阻塞,不同类型的大key有不同的删除方式,

Large Hash Key 可使用hscan命令,每次获取500个字段,再用hdel命令,每次删除1个字段。

Large Set Key 可使用sscan命令,每次扫描集合中500个元素,再用srem命令每次删除一个键。

Large List Key可通过ltrim命令每次删除少量元素

Large Sorted Set Key使用sortedset自带的zremrangebyrank命令,每次删除top 100个元素

收起
互联网服务 · 2018-06-08
浏览6239
Luga LeeLuga Lee系统架构师None
可以从以下方面:1、业务角度,尽量不要使用大key或对其进行处理2、在4.x版本之前可通过数据类型对应的参数命令进行操作,例如:针对Large Hash Key ,可使用hscan命令进行操作3、在4.x版本后可通过UNLINK 命令用于执行大KEY异步删除...显示全部

可以从以下方面:
1、业务角度,尽量不要使用大key或对其进行处理
2、在4.x版本之前可通过数据类型对应的参数命令进行操作,例如:针对Large Hash Key ,可使用hscan命令进行操作
3、在4.x版本后可通过UNLINK 命令用于执行大KEY异步删除

收起
互联网服务 · 2018-06-14
浏览6169

提问者

lxy286239996
数据库管理员君康人寿
擅长领域: 信创数据库服务器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-06-08
  • 关注会员:4 人
  • 问题浏览:9414
  • 最近回答:2018-06-14
  • X社区推广