-
概述
集合类型(set)也是用来保存多个字符串元素的,和列表不一样的是,集合不允许有重复元素,并且集合中元素是无序的,不能像list那样通过下标来获取元素。但是集合不仅可以提供内部增删改查操作,而且提供多个集合之间的运算,也就是和外部集合的计算。 -
sadd命令(添加多个元素)
格式:sadd key element [element …]
-
srem命令(删除set中多个指定元素—>这个和list的一个命令lrem很像,但是lrem中有count(可重复)的概念)
格式:srem key element [element …]
-
scard命令(计算set中元素的个数)
格式:scard key
注意:这个命令的时间复杂度为O(1), redis直接使用一个变量记录集合长度,不需要遍历整个集合 -
sismember命令(判断元素是否在集合中 1表示在,否则返回0)
格式:sismember key element
-
srandmember 命令(从集合中随机返回指定个数元素)
格式: srandmember key [count]
注意:如果集合中的元素总个数小于count,那么返回的元素个数会少于count个 -
spop命令(从集合中随机返回一个元素,但是会删除)
格式: spop key
注意:spop和srandmember都是从集合中返回元素,spop返回一个会删除;srandmember会返回多个不删除;redis 3.2版本后spop支持count参数 -
smembers命令(返回所有元素)
格式:smembers key
-
sinter命令(多个集合做交交集)
格式:sinter key [key…]
-
sunion命令(多个集合的并集)
格式: suinon key [key…]
-
sdiff命令(多个集合的差集)
格式:sdiff key [key…]
-
内部编码
intset(整数集合):当集合中的元素都是整数且元素个数小于set-max-intset-entries,使用这种编码方式
hashtable(哈希表):当不满足上面条件时,那么会使用hashtable
-
使用场景
1.标签
(六)redis常用命令之set
猜你喜欢
转载自blog.csdn.net/weixin_38312719/article/details/95042167
今日推荐
周排行