开发者社区> 问答> 正文

不影响性能的情况下,快速批量删除redis数据

业务场景:
redis数据切换到Oracle,取消持久化,redis只做缓存
具体需求:
从redis从库里获得了400w个无过期时间的hashkey,需要在主库中将其删除
矛盾点:
1.如果直接批量删除会导致redis拥塞,影响正常业务
2.如果每删除一个key,sleep50ms,不会影响业务,但是根据经验要跑两天
最终问题:
在不影响性能的情况下,怎么快速批量删除redis数据?

展开
收起
落地花开啦 2016-02-28 18:17:28 4957 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    尝试下 redis 的 eval 命令。
    例如删除 old-fashioned: 开头的所有 KEY
    eval "redis.call('del', unpack(redis.call('keys','old-fashioned:*')))" 0
    如果单次删除性能消耗大,可以考虑分批删除。

    2019-07-17 18:49:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载