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);
内容版权声明:除非注明,否则皆为本站原创文章。