成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP+Redis實戰(zhàn)教程(4):set集合類型

NikoManiac / 793人閱讀

摘要:集合類型簡介集合和列表十分的相似,都可以存儲多個字符串。這里不是表示我們再次檢查所有元素,發(fā)現(xiàn)只剩下返回版本演示第一步,鏈接數(shù)據(jù)庫我們先插入一個元素到集合。

3、set集合類型

簡介

set集合和list列表十分的相似,都可以存儲多個字符串。但是list列表可以存儲重復值,而set集合中不可重復。

集合結(jié)構(gòu)

其中的user為鍵名,其可以包含多個 不重復 的元素,各不相同

[
    "user":[
        "yanying1",
        "yanying2",
        "yanying3"
    ]
]

操作方法

命令 行為
sadd 將指定的元素添加到集合
smembers 返回集合所包含的所有元素,如果數(shù)據(jù)量大, 謹慎使用
sismember 檢查給定的元素是否在集合中
srem 如果給定的元素在集合中,則刪除它
$redis->sadd PHP版本將元素添加到集合
$redis->smembers PHP版本取出集合中的所有元素
$redis->sismember PHP版本檢測元素是否存在于集合中
$redis->srem PHP版本從集合中刪除一個元素

演示(命令行 + PHP演示)

命令行:

添加一個元素到集合,返回 1代表插入成功;0元素代表已經(jīng)存在

sadd set-key item // 返回 1

同理,再添加元素到集合

sadd set-key item2 // 返回1,表示插入成功,集合內(nèi)沒有該元素
sadd set-key item3 // 返回1
sadd set-key item // 返回0,表示插入失敗,集合內(nèi)已經(jīng)存在

添加完了之后,我們來獲取集合內(nèi)全部的元素,成功返回 全部元素

smembers set-key // 得到結(jié)果:"item","item2","item3",由于元素不能重復,所以最后一個item不存在集合中

下面介紹這個集合的重要功能,使用sismember命令 檢查元素是否在集合中 , 存在返回1,不存在返回0

sismember set-key item4 // 由于item4不在集合中,所以返回 0
sismember set-key item // item元素是存在于集合中的,返回1;同理item2,item3也是會返回1

下面我們嘗試刪除一個元素,如果刪除成功過后,會返回 被刪除元素的個數(shù)

srem set-key item //刪除成功,返回刪除個數(shù):1
srem set-key item // item之前已經(jīng)被刪除,所以刪除失敗,返回個數(shù)0。這里不是表示true or false

我們再次檢查所有元素,發(fā)現(xiàn)只剩下item2,item3

smembers set-key // 返回"item2","item3"

PHP版本演示

第一步,鏈接redis數(shù)據(jù)庫

$redis = new Redis();
$redis->connect("127.0.0.1", 6379);

我們先插入一個元素itemset-key集合。1代表插入成功;0元素代表已經(jīng)存在

$redis->sadd("set-key","item"); // 添加成功,返回1

接下來,我們再次添加一次itemset-key集合,發(fā)現(xiàn)已經(jīng)存在,并且 返回了0

$redis->sadd("set-key","item"); // 集合中已經(jīng)存在item,添加失敗,返回0

為了下面演示,我們在添加幾個元素

$redis->sadd("set-key","item2");
$redis->sadd("set-key","item3");

現(xiàn)在集合中有3個元素了,我們使用smembers命令全部取出

$r = $redis->smembers("set-key");
var_dump($r);

打印過后,我們獲取了一個包含item,item2,item3的數(shù)組

array (size=3)
  0 => string "item" (length=4)
  1 => string "item2" (length=5)
  2 => string "item3" (length=5)

下面我們使用sismember命令來檢查一個元素是否存在于集合中,這個在 檢查如昵稱是否已經(jīng)存在 時候非常有用

$redis->sismember("set-key","item"); //該元素存在集合中,則為 boolean true,反之boolean false

最后,還是刪除一個元素。假設(shè)是item,第一次刪除,該元素存在于集合,則返回 被刪除的個數(shù)1

$redis->srem("set-key","item"); // int 1

這時,我們再次執(zhí)行刪除命令,由于元素已經(jīng)不存在集合,所以,返回 被刪除0個

$redis->srem("set-key","item"); // int 0

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30491.html

相關(guān)文章

  • PHP+Redis實戰(zhàn)教程(1):初識Redis

    摘要:本文為實戰(zhàn)讀書筆記簡介是一個非關(guān)系型遠程內(nèi)存數(shù)據(jù)庫,由于操作都在內(nèi)存中,所以的速度非??欤阅苁謴妱?。同時,還可以自動的以兩種不同的方式將數(shù)據(jù)庫內(nèi)容持久化到硬盤,保證數(shù)據(jù)的完整性。數(shù)據(jù)格式支持字符串列表集合散列有序集合數(shù)據(jù)類型。 本文為《Redis實戰(zhàn)》讀書筆記 Redis簡介 Redis是一個非關(guān)系型遠程內(nèi)存數(shù)據(jù)庫,由于操作都在內(nèi)存中,所以Redis的速度非常快,性能十分強勁。 它...

    張遷 評論0 收藏0
  • PHP+Redis實戰(zhàn)教程(2):string字符串類型

    摘要:字符串類型簡介普通鍵值對存儲,一個鍵對應一個值。字符串結(jié)構(gòu)操作方法類型應該是操作最為簡單的一種了。我們可以使用來獲取值,設(shè)置值,來刪除值。 1、string字符串類型 簡介 普通鍵值對存儲,一個鍵對應一個值。 字符串結(jié)構(gòu) [ name:yanying, age:25, city:nanjing ] 操作方法 string類型應該是操作最為簡單的一種了。我們可以...

    Yuqi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<