Redis避不开的五种数据结构
zadd key [NX|XX] [CH] [INCR] score member [score member ...] ![]() zadd 命令也是有返回值的,返回值就是当前 zadd 命令成功添加元素的个数。zadd 命令有很多选填参数:
备注:由于有序集合相比集合提供了排序字段,正是因为如此也付出了相应的代价,sadd 的时间复杂度为 O(1),而 zadd 的时间复杂度为O(log(n))。 计算成员个数 zcard key ![]() 计算某个成员的分数 zscore key member ![]() 在使用 zscore 命令时,如果 key 不存在,或者元素不存在时,该命令返回的都是(nil)。 计算成员的排名 zrank key member zrevrank key member ![]() zrank 命令是从分数低到高排名,而 zrevrank 命令则恰恰相反,从高到低排名。有一点要特别注意, zrank 和 zrevrank 命令与 zscore 是命令不同的,前者通过分数计算出最后的排名,而后者则是直接返回当前元素的分数。 删除元素 zrem key member [member ...] ![]() 返回的结果为成功删除元素的个数,因为 zrem 命令是支持批量删除的。 增加元素分数 zincrby key increment member ![]() 虽然 zincrby 命令是增加元素分数的,但我们也可以指定负数,这样当前元素的分数,则会相减。 返回指定排名范围的元素 zrange key start stop [WITHSCORES] zrevrange key start stop [WITHSCORES] ![]() zrange 命令是通过分数从低到高返回数据,而 zrevrange 命令是通过分数从高到低返回数据。如果执行命令时添加了 WITHSCORES 可选参数,则返回数据时会返回当前元素的分数。 返回指定分数范围的元素 zrangebyscore key min max [WITHSCORES] [LIMIT offset count] zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count] ![]() min 和 max 参数还支持开区间(小括号)和闭区间(中括号),同时我们还可以用 -inf 和 +inf 参数代表无限小和无限大。 ![]() 返回指定分数范围元素个数 zcount key min max ![]() 删除指定排名内的升序元素 zremrangebyrank key start stop ![]() 删除指定分数范围元素 zremrangebyscore key min max ![]() 2.集合间操作 交集 zinterstore destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |