常用函數:sAdd,sMembers,sPop,sUnion等
應用場景:與list類型類似,是一個列表的功能,不同的是set可以自動排重,提供了一個判斷某一個成員是否存在一個set集合內的重要接口。
連接
$redis = new Redis();
$redis->connect('127.0.0.1','6379');
添加:成功返回1,存在相同的值返回0
echo $redis->sAdd('set','cat'); //1
echo $redis->sAdd('set','cat'); //0
echo $redis->sAdd('set','dog'); //1
查看集合中的所有元素
print_r($redis->sMembers('set')); //Array ( [0] => cat [1] => dog )
判斷元素是否是集合的成員
var_dump($redis->sIsMember('set','dog')); //boolean true
查看集合中成員的數量
echo $redis->sCard('set'); //2
刪除集合中指定值的元素
echo $redis->sRem('set','dog'); //1
移除並返回集合中的一個隨機元素
echo $redis->sPop('set'); //cat
拓展:
假設有兩個集合並存在交集,set1,set2
返回集合的交集
print_r($redis->sInter('set1','set2'));
把交集放到一個集合里
$redis->sInterStore('output','set1','set2');
返回集合的並集
print_r($redis->sUnion('set1','set2'));
把並集放到一個集合里
$redis->sUnionStore('output2','set1','set2');
返回集合的差集
print_r($redis->sDiff('set1','set2'));
把並集放到一個集合里
$redis->sDiffStore('output3','set1','set2');