Fork me on GitHub

redis的set数据类型的基本操作

1、首先连上你的redis

以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示

2、set相关操作
说明:redis的set是String类型的无序集合,它底层其实是一个value为null的hash表,所以添加、删除、查找的复杂度都是O(1)。


-------------------添加、获取操作开始------------------

向集合中添加一个或多个成员:sadd key member [member ...]

实践:sadd key1 val1 val2 val3

返回集合中的所有成员:smembers key

实践:smembers key1

返回集合中的元素个数:scard key

实践:scard key1

删除集合中的一个或多个元素:srem key member [member ...]

实践:srem key1 val1 val2

提示:当srem删除key中不存在的value时,返回的是0

判断元素是否属于集合:sismember key member

实践:sismember key1 val1,说明:判断key1中是否存在成员val1,返回0表示不存在,返回1表示存在

随机从集合中移除一个或多个元素并返回:spop key [count]
[count]表示要移除并吐出的元素个数,如果不设置,默认为1

实践:spop key2,说明:从key2中默认吐出一个元素并返回。

返回集合中一个或多个随机数,但这些元素不会从集合中删除:srandmember key [count]
[count]表示要吐出的元素个数,如果不设置,默认为1

实践:srandmember key2 2,说明:从key2中吐出两个元素并返回。

把集合中的一个值从一个集合移动到另一个集合:smove source destination member

实践:smove key2 key1 val8,说明:从key2将val8移动到key1中。

-------------------添加、获取操作结束------------------


-------------------差集、交集、并集开始------------------

返回给定所有集合的差集:sdiff key [key ...]

实践:sdiff key1 key2,说明:返回以key1集合开始,key1中元素与key2元素中所有集合的差集。当存在多个集合是,key1中元素继续往后续key中找差集。

所有给定集合的差集存储在destination集合中:sdiffstore destination key [key ...]

实践:sdiffstore key4 key1 key2,说明:key1 key2集合的差集存储在集合key4中

返回给定所有集合的交集:sinter key [key ...]

实践:sinter key2 key3,说明:返回key2与key3中的交集

所有给定集合的交集存储在destination集合中:sinterstore destination key [key ...]

实践:sinterstore key5 key2 key3,说明:key2 key3集合的交集存储在集合key5中

返回给定所有集合的并集:sunion key [key ...]

实践:sunion key2 key3,说明:返回key2与key3中的并集,重复元素自动去重

所有给定集合的并集存储在destination集合中:sunionstore destination key [key ...]

实践:sunionstore key6 key2 key3,说明:key2 key3集合的并集存储在集合key6中

-------------------差集、交集、并集开始------------------

posted @ 2022-10-08 21:19  三脚半猫  阅读(311)  评论(0编辑  收藏  举报