小螞蟻學習Redis筆記(6)——Redis數據類型之無序集合set類型

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

相關文章
相關標籤/搜索