Yii redis set集合的使用

2021-10-07 04:06:23 字數 2991 閱讀 1122

redis 的集合是無序的,集合成員是唯一的,不能重複。使用者可以快速地對集合執行新增元素操作、移除元素操作以及檢查乙個元素是否存在於集合中。這裡介紹一些常用的集合處理命令,並在 yii 中的使用。

sadd

sadd:sadd key-name item [item …]

將乙個或多個元素新增到集合裡面,並返回被新增元素當中原本並不存在於集合裡面的元素數量

srem

srem:srem key-name item [item …]

從集合裡面移除乙個或多個元素,並返回被移除元素的數量

sismember

sismember:sismember key-name item

檢查元素 item 是否存在於集合 key-name 裡

scard

scard:scard key-name

返回集合包含的元素的數量

smembers

smembers:smembers key-name

返回集合包含的所有元素

srandmember

srandmember:srandmember key-name [count]

從集合裡面隨機地返回乙個或多個元素。當 count 為正數時,命令返回地隨機元素不會重複;當 count 為負數時,命令返回地隨機元素可能會出現重複

spop

spop:spop key-name

隨機地移除集合中的乙個元素,並返回被移除的元素

smove

smove:smove source-key dest-key item

如果 source-key 包含元素 item,那麼從集合 source-key 裡面移除元素 item,並將元素 item 新增到集合 dest-key 中;如果 item 被成功移除,那麼命令返回 1,否則返回 0

sdiff

sdiff:sdiff key-name [key-name …]

返回那些存在於第乙個集合、但不存在於其他集合中的元素(計算差集)

sdiffstore

sdiffstore:sdiffstore dest-key key-name [key-name …]

將那些存在於第乙個集合但並不存在於其他集合中的元素(差集)儲存到 dest-key 鍵裡面

sinter

sinter:sinter key-name [key-name …]

返回那些同時存在於所有集合中的元素(計算交集)

sinterstore

sinterstore:sinterstore dest-key key-name [key-name …]

將那些同時存在於所有集合的元素(交集)儲存到 dest-key 鍵裡面

sunion

sunion:sunion key-name [key-name …]

返回那些至少存在於乙個集合中的元素(計算並集)

sunionstore

sunionstore:sunionstore dest-key key-name [key-name …]

將那些至少存在於乙個集合中的元素(並集)儲存到 dest-key 鍵裡面

在 yii 中使用例項:

// 新增元素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的基礎性知識,在這裡我就不囉嗦了。可以看這裡 今天我要說的是自己的一些不同於網上的的心得。官方的一副還是要貼出來。我也...