SISMEMBER joe's_movies "bet man"(integer) 0redis> SISMEMBER joe's_..._为什么zset不能直接判断元素是否存在">
当前位置:   article > 正文

Redis之在Set和Zset集合中找出某个元素是否存在的方法和时间复杂度分析_为什么zset不能直接判断元素是否存在

为什么zset不能直接判断元素是否存在

Set

Redis直接提供了高效的查询方法SISMEMBER,其时间复杂度O(1)。

  1. redis> SMEMBERS joe's_movies
  2. 1) "hi, lady"
  3. 2) "Fast Five"
  4. 3) "2012"
  5. redis> SISMEMBER joe's_movies "bet man"
  6. (integer) 0
  7. redis> SISMEMBER joe's_movies "Fast Five"
  8. (integer) 1

返回值:

如果 member 元素是集合的成员,返回 1 。

如果 member 元素不是集合的成员,或 key 不存在,返回 0 。

Zset

Redis没有提供直接可以使用的方法,所以只能通过其他途径来实现了,主要2种方法。

方法1

ZLEXCOUNT key min max

  • 有序集合中成员名称 min 和 max 之间的成员数量; Integer类型。
  • 时间复杂度:O(log(N)) with N being the number of elements in the sorted set.其中 N 是有序集合中元素的数量。
  • 起始版本:2.8.9
  1. 127.0.0.1:6379> zrevrange zsetkey 0 -1
  2. 1) "e"
  3. 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/385550
推荐阅读
相关标签
  

闽ICP备14008679号