摘要:集合類型簡介集合和列表十分的相似,都可以存儲多個字符串。這里不是表示我們再次檢查所有元素,發現只剩下返回版本演示第一步,鏈接數據庫我們先插入一個元素到集合。
3、set集合類型
簡介
set集合和list列表十分的相似,都可以存儲多個字符串。但是list列表可以存儲重復值,而set集合中不可重復。
集合結構
其中的user為鍵名,其可以包含多個 不重復 的元素,各不相同
[ "user":[ "yanying1", "yanying2", "yanying3" ] ]
操作方法
命令 | 行為 |
---|---|
sadd | 將指定的元素添加到集合 |
smembers | 返回集合所包含的所有元素,如果數據量大, 謹慎使用 |
sismember | 檢查給定的元素是否在集合中 |
srem | 如果給定的元素在集合中,則刪除它 |
$redis->sadd | PHP版本將元素添加到集合 |
$redis->smembers | PHP版本取出集合中的所有元素 |
$redis->sismember | PHP版本檢測元素是否存在于集合中 |
$redis->srem | PHP版本從集合中刪除一個元素 |
演示(命令行 + PHP演示)
命令行:
添加一個元素到集合,返回 1代表插入成功;0元素代表已經存在
sadd set-key item // 返回 1
同理,再添加元素到集合
sadd set-key item2 // 返回1,表示插入成功,集合內沒有該元素 sadd set-key item3 // 返回1 sadd set-key item // 返回0,表示插入失敗,集合內已經存在
添加完了之后,我們來獲取集合內全部的元素,成功返回 全部元素
smembers set-key // 得到結果:"item","item2","item3",由于元素不能重復,所以最后一個item不存在集合中
下面介紹這個集合的重要功能,使用sismember命令 檢查元素是否在集合中 , 存在返回1,不存在返回0
sismember set-key item4 // 由于item4不在集合中,所以返回 0 sismember set-key item // item元素是存在于集合中的,返回1;同理item2,item3也是會返回1
下面我們嘗試刪除一個元素,如果刪除成功過后,會返回 被刪除元素的個數
srem set-key item //刪除成功,返回刪除個數:1 srem set-key item // item之前已經被刪除,所以刪除失敗,返回個數0。這里不是表示true or false
我們再次檢查所有元素,發現只剩下item2,item3
smembers set-key // 返回"item2","item3"
PHP版本演示
第一步,鏈接redis數據庫
$redis = new Redis(); $redis->connect("127.0.0.1", 6379);
我們先插入一個元素item到set-key集合。1代表插入成功;0元素代表已經存在
$redis->sadd("set-key","item"); // 添加成功,返回1
接下來,我們再次添加一次item到set-key集合,發現已經存在,并且 返回了0
$redis->sadd("set-key","item"); // 集合中已經存在item,添加失敗,返回0
為了下面演示,我們在添加幾個元素
$redis->sadd("set-key","item2"); $redis->sadd("set-key","item3");
現在集合中有3個元素了,我們使用smembers命令全部取出
$r = $redis->smembers("set-key"); var_dump($r);
打印過后,我們獲取了一個包含item,item2,item3的數組
array (size=3) 0 => string "item" (length=4) 1 => string "item2" (length=5) 2 => string "item3" (length=5)
下面我們使用sismember命令來檢查一個元素是否存在于集合中,這個在 檢查如昵稱是否已經存在 時候非常有用
$redis->sismember("set-key","item"); //該元素存在集合中,則為 boolean true,反之boolean false
最后,還是刪除一個元素。假設是item,第一次刪除,該元素存在于集合,則返回 被刪除的個數1
$redis->srem("set-key","item"); // int 1
這時,我們再次執行刪除命令,由于元素已經不存在集合,所以,返回 被刪除0個
$redis->srem("set-key","item"); // int 0
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30491.html
摘要:本文為實戰讀書筆記簡介是一個非關系型遠程內存數據庫,由于操作都在內存中,所以的速度非常快,性能十分強勁。同時,還可以自動的以兩種不同的方式將數據庫內容持久化到硬盤,保證數據的完整性。數據格式支持字符串列表集合散列有序集合數據類型。 本文為《Redis實戰》讀書筆記 Redis簡介 Redis是一個非關系型遠程內存數據庫,由于操作都在內存中,所以Redis的速度非常快,性能十分強勁。 它...
摘要:字符串類型簡介普通鍵值對存儲,一個鍵對應一個值。字符串結構操作方法類型應該是操作最為簡單的一種了。我們可以使用來獲取值,設置值,來刪除值。 1、string字符串類型 簡介 普通鍵值對存儲,一個鍵對應一個值。 字符串結構 [ name:yanying, age:25, city:nanjing ] 操作方法 string類型應該是操作最為簡單的一種了。我們可以...
閱讀 3318·2019-08-29 16:17
閱讀 1975·2019-08-29 15:31
閱讀 2645·2019-08-29 14:09
閱讀 2548·2019-08-26 13:52
閱讀 744·2019-08-26 12:21
閱讀 2125·2019-08-26 12:08
閱讀 991·2019-08-23 17:08
閱讀 1922·2019-08-23 16:59