背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。
一、set集合
集合的特点是 无序且各不相同的元素
1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量
2. smembers : 返回集合包含的所有元素
3. sismember : 查看某个元素是否存在于集合中
4. scard : 返回集合中的元素的数量
5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量
6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复。
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。
如果 count 大于等于集合基数,那么返回整个集合。如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动
7. spop : 随机的删除集合中的一个元素,并返回被删除的元素
8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0
9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,而不对集合进行任何改动
10. sdiffstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。而不对集合进行任何改动
11. sinter : 返回两个集合的交集,而不对集合进行任何改动
12. sinterstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动
13. sunion : 返回两个集合的并集,而不对集合进行任何改动
14. sunionstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动
# 1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量
127.0.0.1:6379> sadd myset1 csdn
1
127.0.0.1:6379> sadd myset1 stackoverflow github gitee juejin oschina google
6
# 2. smembers : 返回集合包含的所有元素
127.0.0.1:6379> smembers myset1
gitee
github
csdn
stackoverflow
juejin
google
oschina
# 3. sismember : 查看某个元素是否存在于集合中,返回1代表存在,返回0代表不存在
127.0.0.1:6379> sismember myset1 gitee
1
127.0.0.1:6379> sismember myset1 youtube
0
# 4. scard : 返回集合中的元素的数量
127.0.0.1:6379> scard myset1
7
# 5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量
127.0.0.1:6379> srem myset1 stackoverflow
1
127.0.0.1:6379> srem myset1 youtube
0
# 6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复
127.0.0.1:6379> srandmember myset1 3
juejin
gitee
github
127.0.0.1:6379> srandmember myset1 3
juejin
github
google
127.0.0.1:6379> srandmember myset1 3
github
oschina
google
127.0.0.1:6379> srandmember myset1 3
juejin
gitee
oschina
127.0.0.1:6379> scard myset1
6
127.0.0.1:6379> srandmember myset1 6
csdn
github
gitee
juejin
google
oschina
127.0.0.1:6379> srandmember myset1 7
csdn
github
gitee
juejin
google
oschina
# 7. spop : 随机的删除集合中的一个元素或几个元素,并返回被删除的元素
格式: spop key_name count
127.0.0.1:6379> spop myset1 2
google
github
127.0.0.1:6379> smembers myset1
csdn
gitee
juejin
oschina
# 8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0
# 首先判断某个元素是否在集合中
127.0.0.1:6379> sismember myset1 csdn
1
# 从myset1移动某个元素到myset2
127.0.0.1:6379> smove myset1 myset2 csdn
1
# 查看myset1的所有元素
127.0.0.1:6379> smembers myset1
gitee
juejin
oschina
# 查看myset2的所有元素
127.0.0.1:6379> smembers myset2
csdn
# 9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,数学上的差集操作,
127.0.0.1:6379> smembers myset1
github
gitee
juejin
google
oschina
127.0.0.1:6379> smembers myset2
csdn
github
google
127.0.0.1:6379> sdiff myset1 myset2
juejin
gitee
oschina
# 10. sdiffstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
# myresult是保存结果的集合
127.0.0.1:6379> sdiffstore myresult myset1 myset2
3
127.0.0.1:6379> smembers myresult
juejin
gitee
oschina
127.0.0.1:6379> smembers myset1
github
gitee
juejin
google
oschina
127.0.0.1:6379> smembers myset2
csdn
github
google
# 11. sinter : 返回两个集合的交集
# 12. sinterstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
127.0.0.1:6379> sinter myset1 myset2
github
google
127.0.0.1:6379> sinterstore myresult myset1 myset2
2
127.0.0.1:6379> smembers myresult
github
google
127.0.0.1:6379> smembers myset1
github
gitee
juejin
google
oschina
127.0.0.1:6379> smembers myset2
csdn
github
google
# 13. sunion : 返回两个集合的并集
# 14. sunionstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
127.0.0.1:6379> sunion myset1 myset2
csdn
github
gitee
juejin
google
oschina
127.0.0.1:6379> sunionstore myresult myset1 myset2
6
127.0.0.1:6379> smembers myresult
csdn
github
gitee
juejin
google
oschina
127.0.0.1:6379> smembers myset1
github
gitee
juejin
google
oschina
127.0.0.1:6379> smembers myset2
csdn
github
google