redis 的集合是無序的,集合成員是唯一的,不能重複。使用者可以快速地對集合執行新增元素操作、移除元素操作以及檢查乙個元素是否存在於集合中。這裡介紹一些常用的集合處理命令,並在 yii 中的使用。
sadd
sadd:sadd key-name item [item …]srem將乙個或多個元素新增到集合裡面,並返回被新增元素當中原本並不存在於集合裡面的元素數量
srem:srem key-name item [item …]sismember從集合裡面移除乙個或多個元素,並返回被移除元素的數量
sismember:sismember key-name itemscard檢查元素 item 是否存在於集合 key-name 裡
scard:scard key-namesmembers返回集合包含的元素的數量
smembers:smembers key-namesrandmember返回集合包含的所有元素
srandmember:srandmember key-name [count]spop從集合裡面隨機地返回乙個或多個元素。當 count 為正數時,命令返回地隨機元素不會重複;當 count 為負數時,命令返回地隨機元素可能會出現重複
spop:spop key-namesmove隨機地移除集合中的乙個元素,並返回被移除的元素
smove:smove source-key dest-key itemsdiff如果 source-key 包含元素 item,那麼從集合 source-key 裡面移除元素 item,並將元素 item 新增到集合 dest-key 中;如果 item 被成功移除,那麼命令返回 1,否則返回 0
sdiff:sdiff key-name [key-name …]sdiffstore返回那些存在於第乙個集合、但不存在於其他集合中的元素(計算差集)
sdiffstore:sdiffstore dest-key key-name [key-name …]sinter將那些存在於第乙個集合但並不存在於其他集合中的元素(差集)儲存到 dest-key 鍵裡面
sinter:sinter key-name [key-name …]sinterstore返回那些同時存在於所有集合中的元素(計算交集)
sinterstore:sinterstore dest-key key-name [key-name …]sunion將那些同時存在於所有集合的元素(交集)儲存到 dest-key 鍵裡面
sunion:sunion key-name [key-name …]sunionstore返回那些至少存在於乙個集合中的元素(計算並集)
sunionstore:sunionstore dest-key key-name [key-name …]在 yii 中使用例項:將那些至少存在於乙個集合中的元素(並集)儲存到 dest-key 鍵裡面
// 新增元素a,b,c
yii::-
>
redis
->
sadd
('testsetkey'
,'a'
,'b'
,'c');
// 3
// 移除元素c
yii::-
>
redis
->
srem
('testsetkey'
,'c');
// 1
// 檢查元素c是否存在集合中
yii::-
>
redis
->
sismember
('testsetkey'
,'c');
// 0
// 返回集合包含的元素的數量
yii::-
>
redis
->
scard
('testsetkey');
// 2
// 返回集合包含的所有元素
yii::-
>
redis
->
smembers
('testsetkey');
// ["a","b"]
// 將元素a從testsetkey集合移到testsetkey2集合
yii::-
>
redis
->
smove
('testsetkey'
,'testsetkey2'
,'a');
// 1
yii::-
>
redis
->
smembers
('testsetkey');
// ["b"]
yii::-
>
redis
->
smembers
('testsetkey2');
// ["a"]
PL SQL 記錄集合IS TABLE OF的使用
在pl sql 塊中使用select into 賦值的話,有可能返回的是乙個結果集。此時,如果使用基本型別或自定義的記錄型別,將會報錯。因此,需要定義乙個變數,是某種型別的集合。下面以乙個基於表的行型別的集合為例簡單介紹一下 相信基本型別同理吧 1 declare 2cursor cur tx is...
SqlCacheDependency的使用方法
步驟一 sql資料庫必須開啟servicebroker服務,首先檢測是否已經啟用servicebroker,檢測方法 select databasepropertyex 資料庫名稱 isbrokerenabled 1表示已經啟用0表示沒有啟用 步驟二 如果servicebroker沒有啟用,使用下面...
UITabBarController的使用心得
這段時間了解下uitabbarcontroller,今天把我遇到的問題和心得記錄下。網上有很多uitabbarcontroller的資料,對於一些uitabbarcontroller的基礎性知識,在這裡我就不囉嗦了。可以看這裡 今天我要說的是自己的一些不同於網上的的心得。官方的一副還是要貼出來。我也...