Redis04之常用数据结构set&&zset

上次我们介绍了list的常用命令,博客链接为https://blog.****.net/chenpeixing361/article/details/90724031,这次我们介绍set和zset的常用命令。

Set是String类型的无序集合,集合成员数据是唯一的。首先我们添加s1,并查询s1的元素,代码如下图所示。

Redis04之常用数据结构set&&zset

scard用于获取key的长度,sismember用于判断某元素是否在在集合内,代码如下图所示。

Redis04之常用数据结构set&&zset

srandmember是随机返回key中的数,默认是一个元素,如果指定数字,则返回多个元素,代码如下图所示。

Redis04之常用数据结构set&&zset

srem用于删除key中的元素,删除之后再次显示,代码如下图所示。

Redis04之常用数据结构set&&zset

spop语法为spop key [count],用于移除并返回集合中的一个随机元素,代码如下图所示。

Redis04之常用数据结构set&&zset

smove语法为smove source destination member,将member元素从source集合移动到destination集合,代码如下图所示。

Redis04之常用数据结构set&&zset

我们把s1中的元素d移到s2中,s2中就多了元素d,接下来介绍几种交并集查询,sdiff用于求差集,我们删除之前的s1,s2,重新进行赋值,并求差集,代码如下:

Redis04之常用数据结构set&&zset

sinter用于求交集,代码如下图所示。

Redis04之常用数据结构set&&zset

sunion用于求并集,代码如下图所示。

Redis04之常用数据结构set&&zset

sdiffstore表示返回给定的所有集合的差集并存储在destination中,代码如下图所示。

Redis04之常用数据结构set&&zset

同理也有sinterstore,sunionstore,这里就不多说了。

接下来介绍zset,zset与set的区别在于它是有序的,不重复的

首先介绍如何赋值,zadd用于添加,语法为zadd key score member(score1 member1),zcard用于查询元素个数,代码如下:

Redis04之常用数据结构set&&zset

查询用到zrange,zrange是通过索引返回区间内的成员(由低到高),代码如下:

Redis04之常用数据结构set&&zset

zcount语法为zcount key minscore maxscore,用于查询区间分数内的元素个数,代码如下:

Redis04之常用数据结构set&&zset

zrank用于查询元素的索引下标,代码如下:

Redis04之常用数据结构set&&zset

zrevrange与zrange相反,查询区间元素顺序为由高到低,代码如下:

Redis04之常用数据结构set&&zset

接下来介绍删除语法,zrem语法为zrem key member[member1,...],用于删除一个或多个存在的元素,代码如下:

Redis04之常用数据结构set&&zset

zremrangebyrank key start stop是删除有序集合区间内的值,代码如下:

Redis04之常用数据结构set&&zset

zremrangebyscore key min max删除有序集合分数区间内的值,代码如下:

Redis04之常用数据结构set&&zset

好了,关于set和zset的介绍就到这里了,我们下次见!