/** * * 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');