无序集合set类型spa
set集合,它是string类型的无序集合。set是经过hash table实现的,添加删除和查找的复杂度都是0(1)。对集合咱们能够取并集,交集,差集。经过这些操做咱们能够实现sns中的好友推荐blog和tag功能。.net
set经常使用命令blog
1. sadd 向集合中添加元素ci
格式: sadd myset1 “allen”
rem
含义: 向无序集合myset1中添加元素allen,成功返回1。
get
2. smembers 查看集合中的全部元素博客
格式: smembers myset1
string
含义: 查看集合myset1中的全部元素
hash
3. srem 删除名称为key的set中的元素io
格式: srem myset1 “allen”
含义: 从集合myset1中删除一个名为allen的元素
注意: 删除成功返回1,删除失败返回0。
4. spop 随机弹出而且删除一个元素
格式: spop myset1
含义: 随机从myset1中随机弹出一个元素,而且删除掉。
注意: 由于set是无序列表,因此只能随机弹出元素。
5. sdiff 返回两个集合的差集
格式: sdiff myset1 myset2
含义: 比较两个集合的差集,而且返回myset1中的差集。
注意: 哪一个集合在前,返回哪一个集合的差集。比较上例中,返回的是myset1。
6. sdiffstore 返回两个集合的差集,而且把返回的差集放入第三个集合中
格式: sdiffstore myset3 myset1 myset2
含义: 比较集合myset1和myset2的差集,而且放入第三个集合myset3中。
7. sinter 返回给定集合的交集。
格式: sinter myset1 myset2
含义: 比较集合myset1和myset2的交集,而且返回。
8. sinterstore 返回给定集合的交集,而且把返回的交集放入第三个集合中
格式: sinterstore myset4 myset1 myset2
含义: 比较集合myset1和myset2的交集,而且放入第三个集合myset4中。
9. sunion 返回给定集合的并集。
格式: sunion myset1 myset2
含义: 比较集合myset1和myset2的并集,而且返回。
10. sunionstore 返回给定集合的并集,而且把返回的交集放入第三个集合中
格式: sunionstore myset5 myset1 myset2
含义: 比较集合myset1和myset2的并集,而且放入第三个集合myset5中。
11. smove 从一个集合中拿出一个元素,而且放入到另外一个集合中去。
格式: smove myset1 myset2 “allen1”
含义: 从集合myset1中拿出allen1,放置到集合myset2中去。成功返回1,失败返回0。
例子:
127.0.0.1:6379> smembers myset1
1) "allen1"
2) "1"
3) "2"
4) "3"
127.0.0.1:6379> smembers myset2
1) "3"
2) "5"
127.0.0.1:6379> smove myset1 myset2 "allen1"
(integer) 1
127.0.0.1:6379> smembers myset2
1) "allen1"
2) "5"
3) "3"
127.0.0.1:6379>
127.0.0.1:6379> smembers myset1
1) "1"
2) "2"
3) "3"
12. scard 返回集合中元素的个数
格式: scard myset1
含义: 返回集合myset1中,元素的个数。
13. sismember 判断元素是否属于这个集合
格式: sismember myset2 "allen1"
含义: 判断元素allen1,是否属于集合myset2。是,返回1,不是,返回0。
14. srandmember 随机返回一个元素,但不删除。
格式: srandmember myset2
含义: 随机返回集合myset2中的一个元素,可是不删除。和spop造成对比,spop是弹出,也就是会删除的。
学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog