(PHP)redis Set(集合)操作


/**
 *
 * Set操作
 * 集合命令
 * 保證數據的唯一
 * 不保證順序
 * 
 */


//將一個元素加入集合,已經存在集合中的元素則忽略。若集合不存在則先創建,若key不是集合類型則返回false,若元素已存在返回0,插入成功返回1。
$redis->sAdd('set3', '11');


//返回集合中所有成員。
$redis->sMembers('set3');

//判斷集合里是否存在指定元素,是返回true,否則返回false。
$redis->sismember('set', 'hello');

//返回集合中元素的數量。
$redis->scard('set');

//隨機刪除並返回集合里的一個元素。
$redis->sPop('set');

//隨機返回(n)個集合內的元素,由第二個參數決定返回多少個
//如果 n 大於集合內元素的個數則返回整個集合
//如果 n 是負數時隨機返回 n 的絕對值,數組內的元素會重復出現
$redis->sRandMember('set', -20);

//刪除集合中指定的一個元素,元素不存在返回0。刪除成功返回1,否則返回0。
$redis->srem('set', 'hello');

//模糊搜索相對的元素,
//參數:key,迭代器變量,匹配值,每次返回元素數量(默認為10個)
$redis->sscan('set', $it, 's*', 5);

//將指定一個源集合里的值移動到一個目的集合。成功返回true,失敗或者源集合值不存在時返回false。
//參數:源集合,目標集合,移動的元素
$redis->sMove('set', 'set2', 'sdf4');

//以第一個集合為標准,后面的集合對比,返回差集
 $redis->sDiff('set', 'set2','set3');

//參數:第一個參數為目標集合,存儲缺少的值(三個集合相加,同樣字段覆蓋,組合成一個新的集合)返回第一個參數所增加的值的個數。
$redis->sDiffStore('set', 'set3', 'set2');

//返回所有集合的相同值,必須所有集合都有,不存在的集合視為空集。
$redis->sInter('set', 'set3', 'set2');

//參數:第一個參數為目標集合,存儲后面集合的交集
//若目的集合已存在則覆蓋它。返回交集元素個數,否則返回儲存的交集
$redis->sInterStore('set4', 'set', 'set3');

//把所有集合合並在一起並返回
$redis->sUnion('set', 'set2', 'set3');

//以第一個集合為目標,把后面的集合合並在一起,存儲到第一個集合里面,如果已經存在則覆蓋掉,並返回並集的個數
$redis->sUnionStore('set4', 'set', 'set2', 'set3');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM