Redis04之常用数据结构set&&zset
上次我们介绍了list的常用命令,博客链接为https://blog.****.net/chenpeixing361/article/details/90724031,这次我们介绍set和zset的常用命令。
Set是String类型的无序集合,集合成员数据是唯一的。首先我们添加s1,并查询s1的元素,代码如下图所示。
scard用于获取key的长度,sismember用于判断某元素是否在在集合内,代码如下图所示。
srandmember是随机返回key中的数,默认是一个元素,如果指定数字,则返回多个元素,代码如下图所示。
srem用于删除key中的元素,删除之后再次显示,代码如下图所示。
spop语法为spop key [count],用于移除并返回集合中的一个随机元素,代码如下图所示。
smove语法为smove source destination member,将member元素从source集合移动到destination集合,代码如下图所示。
我们把s1中的元素d移到s2中,s2中就多了元素d,接下来介绍几种交并集查询,sdiff用于求差集,我们删除之前的s1,s2,重新进行赋值,并求差集,代码如下:
sinter用于求交集,代码如下图所示。
sunion用于求并集,代码如下图所示。
sdiffstore表示返回给定的所有集合的差集并存储在destination中,代码如下图所示。
同理也有sinterstore,sunionstore,这里就不多说了。
接下来介绍zset,zset与set的区别在于它是有序的,不重复的。
首先介绍如何赋值,zadd用于添加,语法为zadd key score member(score1 member1),zcard用于查询元素个数,代码如下:
查询用到zrange,zrange是通过索引返回区间内的成员(由低到高),代码如下:
zcount语法为zcount key minscore maxscore,用于查询区间分数内的元素个数,代码如下:
zrank用于查询元素的索引下标,代码如下:
zrevrange与zrange相反,查询区间元素顺序为由高到低,代码如下:
接下来介绍删除语法,zrem语法为zrem key member[member1,...],用于删除一个或多个存在的元素,代码如下:
zremrangebyrank key start stop是删除有序集合区间内的值,代码如下:
zremrangebyscore key min max删除有序集合分数区间内的值,代码如下:
好了,关于set和zset的介绍就到这里了,我们下次见!