您的位置:首页 > 娱乐 > 明星 > 网站建设做网站需要多少钱?_网站关键字优化公司_百度快照搜索引擎_hao123上网从这里开始官方

网站建设做网站需要多少钱?_网站关键字优化公司_百度快照搜索引擎_hao123上网从这里开始官方

2025/10/26 21:11:43 来源:https://blog.csdn.net/linsc_05/article/details/143972934  浏览:    关键词:网站建设做网站需要多少钱?_网站关键字优化公司_百度快照搜索引擎_hao123上网从这里开始官方
网站建设做网站需要多少钱?_网站关键字优化公司_百度快照搜索引擎_hao123上网从这里开始官方

目录

一、Zset有序集合类型介绍

二、常见命令

1、ZADD

2、ZCARD

3、ZCOUNT

4、ZRANGE

5、ZREVRANGE

6、ZRANGEBYSCORE

7、ZREVRANGEBYSCORE

8、ZPOPMAX

9、ZPOPMIN

10、ZRANK

11、ZREVRANK

12、ZSCORE

13、ZREM

14、ZREMRANGEBYRANK

15、ZREMRANGEBYSCORE

16、ZINCRBY

17、阻塞版本命令

(1) BZPOPMAX

(2)BZPOPMIN

18、集合间操作命令

(1)交集操作 ZINTERSTORE

(2)并集操作 ZUNIONSTORE

三、命令小结

 相关内容:

Redis五大基本类型——Hash哈希命令详解(命令用法详解+思维导图详解)_hash专用key-CSDN博客
Redis五大基本类型——String字符串命令详解(命令用法详解+思维导图详解)_redis 字符串-CSDN博客
 

Redis五大基本类型——List列表命令详解(命令用法详解+思维导图详解)_redis list rpush-CSDN博客

Redis五大基本类型——Set集合命令详解(命令用法详解+思维导图详解)-CSDN博客


一、Zset有序集合类型介绍

        有序集合保留了集合不能有重复成员的特点。但和集合不同的是,有序集合中的每一个元素都有一个唯一的浮点类型的分数(score)与之关联,这使得有序集合中的元素是可以维持有序性的。

        有序集合中的有序并不是用下标作为排序依据,而是使用分数(score)。有序集合中的元素不允许重复,但分数是允许重复的。类比大家的身份证上身份证号都是不一致的,但可能身份证上的姓名可能是一致的。

二、常见命令

1、ZADD

        添加或更新指定元素以及关联的分数到 zset 中。分数应该符合 double 类型,+inf / -inf 作为正负极限也是合法的。

语法:

ZADD key [NX|XX] [CH] [INCR] score member [score member ...]

[ ]内是选填项,其他的是必填项

NX:只在key不存在时才设置,如果设置前key已存在,则不执行

XX:只在key存在时才设置,如果设置前key不存在,则不执行

CH:默认情况下,ZADD返回添加的元素个数,加上CH后返回本次更新的元素的个数

INCR:将元素的分数加上指定的分数,此时只能指定应该元素和分数

返回值:

本次添加成功的元素个数

示例:

127.0.0.1:6379> ZADD mykey 1 one
(integer) 1
127.0.0.1:6379> ZADD mykey two two
(error) ERR value is not a valid float
127.0.0.1:6379> ZADD mykey 2 two 3 three
(integer) 2
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"127.0.0.1:6379> ZADD mykey 1.1 one 2.2 two 3.3 three
(integer) 0
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "one"
2) "1.1000000000000001"
3) "two"
4) "2.2000000000000002"
5) "three"
6) "3.2999999999999998"
127.0.0.1:6379> ZADD mykey CH 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"127.0.0.1:6379> ZADD mykey XX 4 four
(integer) 0
127.0.0.1:6379> ZADD mykey NX 4 four
(integer) 1
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "four"
8) "4"
127.0.0.1:6379> ZADD mykey INCR 10 one
"11"
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "two"
2) "2"
3) "three"
4) "3"
5) "four"
6) "4"
7) "one"
8) "11"
127.0.0.1:6379> ZADD mykey -inf min +inf max
(integer) 2
127.0.0.1:6379> zrange mykey 0 -1 withscores1) "min"2) "-inf"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "one"
10) "11"
11) "max"
12) "inf"

2、ZCARD

        获取 zset 中的元素个数。

语法:

ZCARD key

返回值:

zset 中的元素个数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZCARD mykey
(integer) 3
127.0.0.1:6379> ZCARD nilkey
(integer) 0

3、ZCOUNT

        返回分数在 min 和 max 之间的元素个数。默认情况下,min 和 max 都是包含的,可以通过 ( 排除。

语法:

ZCOUNT key min max

返回值:

满足条件的元素列表个数

示例:

127.0.0.1:6379> zrange mykey 0 -1 withscores1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "five"
10) "5"
11) "six"
12) "6"
127.0.0.1:6379> ZCOUNT mykey 1 3 #查找范围为 [1,3]
(integer) 3
127.0.0.1:6379> ZCOUNT mykey 1 (3 #查找范围为 [1,3)
(integer) 2
127.0.0.1:6379> ZCOUNT mykey (1 (3 #查找范围为 (1,3)
(integer) 1
127.0.0.1:6379> ZCOUNT mykey 0 100 
(integer) 6

4、ZRANGE

        返回指定区间的元素,分数按升序输出。带上WITHSCORES可以把分数也一起返回。

语法:

ZRANGE key start stop [WITHSCORES]

此处的 [start,stop] 为下标构成的区间,从0开始,支持负数

返回值:

区间内的元素列表

示例:

127.0.0.1:6379> ZRANGE mykey 0 -1 
1) "one"
2) "two"
3) "three"
4) "four"
5) "five"
6) "six"
127.0.0.1:6379> ZRANGE mykey 0 -1 WITHSCORES1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "five"
10) "5"
11) "six"
12) "6"
127.0.0.1:6379> ZRANGE mykey 2 5
1) "three"
2) "four"
3) "five"
4) "six"
127.0.0.1:6379> ZRANGE mykey 2 5 WITHSCORES
1) "three"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
7) "six"
8) "6"
127.0.0.1:6379> ZRANGE mykey -6 -1
1) "one"
2) "two"
3) "three"
4) "four"
5) "five"
6) "six"
127.0.0.1:6379> ZRANGE mykey -6 -1 WITHSCORES1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "five"
10) "5"
11) "six"
12) "6"

5、ZREVRANGE

        返回指定区间的元素,分数按照降序。带上WITHSCORES可以把分数也一起返回。

语法:

ZREVRANGE key start stop [WITHSCORES]

返回值:

区间内的元素列表

示例:

127.0.0.1:6379> ZREVRANGE mykey 0 -1
1) "six"
2) "five"
3) "four"
4) "three"
5) "two"
6) "one"
127.0.0.1:6379> ZREVRANGE mykey 0 -1 WITHSCORES1) "six"2) "6"3) "five"4) "5"5) "four"6) "4"7) "three"8) "3"9) "two"
10) "2"
11) "one"
12) "1"
127.0.0.1:6379> ZREVRANGE mykey -6 -1
1) "six"
2) "five"
3) "four"
4) "three"
5) "two"
6) "one"
127.0.0.1:6379> ZREVRANGE mykey -6 -1 WITHSCORES1) "six"2) "6"3) "five"4) "5"5) "four"6) "4"7) "three"8) "3"9) "two"
10) "2"
11) "one"
12) "1"
127.0.0.1:6379> ZREVRANGE mykey 2 5
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> ZREVRANGE mykey 0 100
1) "six"
2) "five"
3) "four"
4) "three"
5) "two"
6) "one"

6、ZRANGEBYSCORE

        返回分数在 min 和 max 之间的元素,升序。默认情况下,min 和 max 都是包含的,可以通过(排除。

语法:

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

返回值:

区间内的元素列表

示例:

127.0.0.1:6379> zrange mykey 0 -1 withscores1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "five"
10) "5"
11) "six"
12) "6"127.0.0.1:6379> ZRANGEBYSCORE mykey 1 2
1) "one"
2) "two"
127.0.0.1:6379> ZRANGEBYSCORE mykey 1 6
1) "one"
2) "two"
3) "three"
4) "four"
5) "five"
6) "six"
127.0.0.1:6379> ZRANGEBYSCORE mykey (1 (6
1) "two"
2) "three"
3) "four"
4) "five"

7、ZREVRANGEBYSCORE

        返回分数在 max 和 min 之间的元素,降序。默认情况下,min 和 max 都是包含的,可以通过(排除。

语法:

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

返回值:

区间内的元素列表

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three 4 four 5 five
(integer) 0
127.0.0.1:6379> ZREVRANGEBYSCORE mykey 2 1 withscores
1) "two"
2) "2"
3) "one"
4) "1"
127.0.0.1:6379> ZREVRANGEBYSCORE mykey 2 1
1) "two"
2) "one"
127.0.0.1:6379> ZREVRANGEBYSCORE mykey 5 1 withscores1) "five"2) "5"3) "four"4) "4"5) "three"6) "3"7) "two"8) "2"9) "one"
10) "1"
127.0.0.1:6379> ZREVRANGEBYSCORE mykey (5 (1 withscores
1) "four"
2) "4"
3) "three"
4) "3"
5) "two"
6) "2"

8、ZPOPMAX

        删除并返回分数最高的 count 个元素。

语法:

ZPOPMAX key [count]

返回值:

分数和元素列表

示例:

127.0.0.1:6379> ZPOPMAX mykey 
1) "six"
2) "6"
127.0.0.1:6379> ZPOPMAX mykey  3
1) "five"
2) "5"
3) "four"
4) "4"
5) "three"
6) "3"
127.0.0.1:6379> ZPOPMAX mykey  3
1) "two"
2) "2"
3) "one"
4) "1"

9、ZPOPMIN

       删除并返回分数最低的 count 个元素。

语法:

ZPOPMIN key [count]

返回值:

分数和元素列表

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZPOPMIN mykey
1) "one"
2) "1"
127.0.0.1:6379> ZPOPMIN mykey 2
1) "two"
2) "2"
3) "three"
4) "3"
127.0.0.1:6379> ZPOPMIN mykey 3
(empty array)

10、ZRANK

        返回指定元素的排名,升序。

语法:

ZRANK key member

返回值:

排名

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZRANK mykey one
(integer) 0
127.0.0.1:6379> ZRANK mykey two
(integer) 1
127.0.0.1:6379> ZRANK mykey three
(integer) 2
127.0.0.1:6379> ZRANK mykey four
(nil)

11、ZREVRANK

        返回指定元素的排名,降序。

语法:

ZREVRANK key member

返回值:

排名

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZREVRANK mykey one
(integer) 2
127.0.0.1:6379> ZREVRANK mykey two
(integer) 1
127.0.0.1:6379> ZREVRANK mykey three
(integer) 0
127.0.0.1:6379> ZREVRANK mykey four
(nil)

12、ZSCORE

        返回指定元素的分数。

语法:

ZSCORE key member

返回值:

分数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZSCORE mykey one
"1"
127.0.0.1:6379> ZSCORE mykey two
"2"
127.0.0.1:6379> ZSCORE mykey three
"3"
127.0.0.1:6379> ZSCORE mykey four
(nil)

13、ZREM

        删除指定的元素。

语法:

ZREM key member [member ...]

返回值:

本次操作删除的元素个数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three 4 four 5 five
(integer) 5
127.0.0.1:6379> zrange mykey 0 -1 withscores1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"7) "four"8) "4"9) "five"
10) "5"
127.0.0.1:6379> ZREM mykey one
(integer) 1
127.0.0.1:6379> ZREM mykey three five
(integer) 2
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "two"
2) "2"
3) "four"
4) "4"

14、ZREMRANGEBYRANK

       按照排序,升序删除指定范围的元素,左闭右闭。

语法:

ZREMRANGEBYRANK key start stop

返回值:

本次操作删除的元素个数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three 4 four 5 five
(integer) 5
127.0.0.1:6379> ZREMRANGEBYRANK mykey 0 1
(integer) 2
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "three"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"

15、ZREMRANGEBYSCORE

        按照分数删除指定范围的元素,左闭右闭。

语法:

ZREMRANGEBYSCORE key min max

返回值:

本次操作删除的元素个数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three 4 four 5 five
(integer) 5
127.0.0.1:6379> ZREMRANGEBYSCORE mykey 1 3
(integer) 3
127.0.0.1:6379> zrange mykey 0 -1 withscores
1) "four"
2) "4"
3) "five"
4) "5"

16、ZINCRBY

       为指定的元素的关联分数添加指定的分数值。

语法:

ZINCRBY key increment member

返回值:

增添后元素的分数

示例:

127.0.0.1:6379> zadd mykey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZINCRBY mykey 10 one
"11"
127.0.0.1:6379> ZINCRBY mykey 20 two
"22"
127.0.0.1:6379> ZINCRBY mykey -10 three
"-7"
127.0.0.1:6379> zrange mykey 0 -1 withscores1) "three"2) "-7"3) "one"4) "11"5) "two"6) "22"

17、阻塞版本命令

阻塞版本和非阻塞版本的作用基本一致,二者异同点: 

· 在列表中有元素的前提下,阻塞版本和非阻塞版本的作用一致。

· 如果列表中没有元素,非阻塞版本会立即返回nil,阻塞版本会根据timeout,阻塞一段时间。期间 redis 可以执行其他命令,但要求执行该命令的客户端会表现为阻塞状态。

        命令中如果设置了多个键,那么会从左到右遍历键,一旦有一个键对应的列表中可以弹出元素,命令立即返回并结束阻塞状态。

(1) BZPOPMAX

        ZPOPMAX的阻塞版本,删除并返回分数最高的 count 个元素。

语法:

BZPOPMAX key [key ...] timeout

返回值:

元素列表

示例:

(2)BZPOPMIN

        ZPOPMIN的阻塞版本,删除并返回分数最低的 count 个元素。

语法:

BZPOPMIN key [key ...] timeout

返回值:

元素列表

示例:

18、集合间操作命令

(1)交集操作 ZINTERSTORE

        求出给定有序集合中元素的交集并保存到目标有序集合中,在合并过程中以元素为单位进行合并,元素对应的分数按照不同的聚合方式和权重得到新的分数。

语法:

 ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]  [AGGREGATE <SUM | MIN | MAX>]

WEIGHT:指的是权重

AGGREGATE:指的是聚合方式

[] 内不是必填项,默认权重都为1,默认聚合方式是sum

返回值:

目标集合中的元素个数

示例:

127.0.0.1:6379> zadd mykey1 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> zadd mykey2 1 one 2 two
(integer) 2
127.0.0.1:6379> ZINTERSTORE deskey1 2 mykey1 mykey2 weights 2 3
(integer) 2
127.0.0.1:6379> zrange deskey1  0 -1 withscores
1) "one"
2) "5"
3) "two"
4) "10"127.0.0.1:6379> ZINTERSTORE deskey2  2 mykey1 mykey2 aggregate min
(integer) 2
127.0.0.1:6379> zrange deskey2  0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
127.0.0.1:6379> ZINTERSTORE deskey3  2 mykey1 mykey2 aggregate max
(integer) 2
127.0.0.1:6379> zrange deskey3  0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"

(2)并集操作 ZUNIONSTORE

        求出给定有序集合中元素的并集并保存到目标有序集合中,在合并过程中以元素为单位进行合并,元素对应的分数按照不同的聚合方式和权重得到新的分数。

语法:

 ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]  [AGGREGATE <SUM | MIN | MAX>]

返回值:

目标集合中的元素个数

示例:

127.0.0.1:6379> zadd mykey1 11 one 22 two 33 three
(integer) 3
127.0.0.1:6379> zadd mykey2 1 one 2 two
(integer) 2127.0.0.1:6379> ZUNIONSTORE deskey 2 mykey1 mykey2 weights 1 2
(integer) 3
127.0.0.1:6379> zrange deskey 0 -1 withscores
1) "one"
2) "13"
3) "two"
4) "26"
5) "three"
6) "33"

三、命令小结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com