redis应该如何删除集合

Redis 没有直接针对集合数据结构的删除命令,但可以通过 DEL 和 UNLINK 实现。DEL 在删除大键时可能导致阻塞,而 UNLINK 是 Redis 4.0 引入的异步删除命令,适用于处理大键,以避免阻塞问题。在考虑性能和内存回收时,推荐使用 UNLINK。
摘要由CSDN通过智能技术生成

 背景

在redis的命令接口中,没有专门针对list,set,hash等数据结构的key删除命令,只有指定到删除具体的对象的操作命令。
比如删除list列表的元素命令LREM,删除set集合中一个或多个元素命令SREM,删除hash中一个或多个元素HDEL。
而在redis的一些使用中还是可能遇到对这些集合类对象整体删除的场景如:
场景1:当用户的信息使用hash结构储存时,需要删除整个用户的信息
场景2:删除大V的粉丝列表

DEL

在redis4.0之前可以用del命令直接删除key,但是由于redis是单线程,如果对应value值很多,就会出现严重的阻塞问题。
官网给出了del命令的时间复杂度
Time complexity: O(N) where N is the number of keys that will be removed. When a key to remove holds a value other than a string, the individual complexity for this key is O(M) where M is the number of elements in the list, set, sorted set or hash. Removing a single key that holds a string value is O(1).

大概意思是:当有N个keys 要被移除时,时间复杂度是O(N);当要移除的key对应的value不是string,这是移除单个key的时间复杂度是O(M),这里的M是list,set,有序set或hash数据结构里面的元素。移除单个key,并且这个key对应的value是一个string类型,这时的时间复杂度是O(1).

<
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值