业务场景:
redis数据切换到Oracle,取消持久化,redis只做缓存
具体需求:
从redis从库里获得了400w个无过期时间的hashkey,需要在主库中将其删除
矛盾点:
1.如果直接批量删除会导致redis拥塞,影响正常业务
2.如果每删除一个key,sleep50ms,不会影响业务,但是根据经验要跑两天
最终问题:
在不影响性能的情况下,怎么快速批量删除redis数据?
尝试下 redis 的 eval 命令。
例如删除 old-fashioned: 开头的所有 KEYeval "redis.call('del', unpack(redis.call('keys','old-fashioned:*')))" 0
如果单次删除性能消耗大,可以考虑分批删除。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。