# phpredis 教程:集合
***
### 集合操作
~~~
<?php
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// Redis 沒設置密碼則不需要這行代碼
// $redis->auth('opG5dGo9feYarUifaLb8AdjKcAAXArgZ');
// 創建集合
$redis->sAdd('sets', 'value1', 'value2');
// 以數組形式創建集合
$redis->sAddArray('sets2', ['value1', 'value2', 'value3']);
// 取兩個集合的并集
$union = $redis->sUnion('sets', 'sets2');
// 取兩個集合的差集
$diff = $redis->sDiff('sets', 'sets2');
// 取兩個集合的交集
$inter = $redis->sInter('sets', 'sets2');
var_dump($union, $diff, $inter);
// 獲取集合數量
$card = $redis->sCard('sets');
echo $card . PHP_EOL;
// 獲取集合中全部元素
// 不推薦使用這種方法獲取全部數據,會導致服務器執行超時,推薦方法后邊會詳細介紹
$sets = $redis->sMembers('sets');
var_dump($sets);
// 判斷元素是否是集合中的成員
$isMember = $redis->sIsMember('sets', 'value2');
var_dump($isMember);
// 刪除集合中的元素
$redis->sRem('sets', 'value2');
var_dump($redis->sMembers('sets'));
// 隨機獲取一個元素
echo $redis->sRandMember('sets');
// 隨機獲取一個元素并從集合中刪除
echo $redis->sPop('sets');
// 刪除集合
$redis->del('sets', 'sets2');
~~~