php操作redis数据库常见方法实例总结(3)

六、redis的集合(set)操作

//向集合添加一个或多个成员
//若集合不存在则先创建,若key不是集合类型则返回false
//若元素已存在返回0,插入成功返回1。
$ret = $redis->sAdd('friend', 'xiaoxu', 'xiaowang', 'xiaoli', 'xiaozhang');
var_dump($ret);
//返回集合中所有成员。
$ret = $redis->sMembers('friend');
var_dump($ret);
//判断元素是否是集合key的成员
$ret = $redis->sIsMember('friend', 'xiaoxu');
var_dump($ret);
//返回集合中成员的数量。
$ret = $redis->scard('friend');
var_dump($ret);
//移除并返回集合中的一个随机元素
$ret = $redis->spop('friend');
var_dump($ret);
//返回集合中的一个或多个随机成员元素,返回元素的数量和情况由函数的第二个参数count决定:
//如果count为正数,且小于集合基数,那么命令返回一个包含count个元素的数组,数组中的元素各不相同。
//如果count大于等于集合基数,那么返回整个集合。
//如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值。
$ret = $redis->sRandMember('friend', 2);
var_dump($ret);
//移除集合中指定的一个元素,忽略不存在的元素。删除成功返回1,否则返回0。
$ret = $redis->sRem('friend', 'xiaowang');
var_dump($ret);
//迭代集合中的元素
//参数:集合的key,迭代器变量,匹配模式,每次返回元素数量(默认为10个)
$ret = $redis->sScan('friend', $iter, 'xiao*', 5);
var_dump($ret);
var_dump($iter);
//将指定成员从一个源集合移动到一个目的集合。
//若源集合不存在或不包含指定元素则不做任何操作,返回false。
//参数:源集合,目标集合,移动元素
$ret = $redis->sMove('friend', 'friend2', 'xiaoxu');
var_dump($ret);
//返回所有给定集合之间的差集,不存在的集合视为空集。
$ret = $redis->sDiff('friend', 'friend2');
var_dump($ret);
//将所有给定集合之间的差集存储在指定的目的集合中。
//若目的集合已存在则覆盖它。返回差集元素个数。
//参数:第一个参数为目标集合,存储差集。
$ret = $redis->sDiffStore('friend3', 'friend2', 'friend');
var_dump($ret);
//返回所有给定集合的交集,不存在的集合视为空集。
$ret = $redis->sInter('friend', 'friend2');
var_dump($ret);
//将所有给定集合的交集存储在指定的目的集合中。
//若目的集合已存在则覆盖它。返回交集元素个数。
//参数:第一个参数为目标集合,存储交集。
$ret = $redis->sInterStore('friend4', 'friend2', 'friend');
var_dump($ret);
//返回所有给定集合的并集,不存在的集合视为空集。
$ret = $redis->sUnion('friend', 'friend2');
var_dump($ret);
//将所有给定集合的并集存储在指定的目的集合中。
//若目的集合已存在则覆盖它。返回并集元素个数。
//参数:第一个参数为目标集合,存储并集。
$ret = $redis->sUnionStore('friend5', 'friend2', 'friend');
var_dump($ret);
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1925.html