無序集合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