Redis 删除大key

Redis 删除大key的方法

注意: 是删除大key,不是删除大量的key

系统中存在一些占用内存很大的键值对,例如 redis.set("content", value) 其中value这个变量占用很大的内存

如果直接删除这些大key,会导致线程阻塞、内存IO爆涨等问题,以下提供几种方案进行参考

选择业务低峰期进行删除

scran 分批删除

例如
redis-cli --scan --pattern '*' --count 10
扫描Redis中所有键,返回前10个键的大小最大的键。
通过这样,可人工筛选出一批大Key,进行删除

再例如:

redis.hset("school", "class_1", "ucvouzox很大的内容")
redis.hset("school", "class_1", "ucvouzox很大的内容")
redis.hset("school", "class_2", "ucvouzox很大的内容")
redis.hset("school", "class_1", "ucvouzox很大的内容")
redis.hset("school", "class_53", "ucvouzox很大的内容")
redis.hset("school", "class_12", "ucvouzox很大的内容")
……

最终要删除哈希类型key=school的值,可根据自己业务拆分,hdel(非del)命令进行逐步删除

异步删除 unlink

Redis的4.0版本引入的新命令,类似于 DEL 命令,都是用于删除键值对
主要特点是它是非阻塞的,它会在后台异步地删除键值对,而不会阻塞服务器的正常操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值