セット操作
//将一个元素加入集合,已经存在集合中的元素则忽略。若集合不存在则先创建,若key不是集合类型则返回false,若元素已存在返回0,插入成功返回1。 $ret = $redis->sAdd('myset', 'hello'); //返回集合中所有成员。 $ret = $redis->sMembers('myset'); //判断指定元素是否是指定集合的成员,是返回true,否则返回false。 $ret = $redis->sismember('myset', 'hello'); //返回集合中元素的数量。 $ret = $redis->scard('myset'); //移除并返回集合中的一个随机元素。 $ret = $redis->sPop('myset'); //返回集合中的一个或多个随机成员元素,返回元素的数量和情况由函数的第二个参数count决定: //如果count为正数,且小于集合基数,那么命令返回一个包含count个元素的数组,数组中的元素各不相同。 //如果count大于等于集合基数,那么返回整个集合。 //如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值。 $ret = $redis->sRandMember('myset', 2); //移除集合中指定的一个元素,忽略不存在的元素。删除成功返回1,否则返回0。 $ret = $redis->srem('myset', 'hello'); //迭代集合中的元素。 //参数:key,迭代器变量,匹配模式,每次返回元素数量(默认为10个) $ret = $redis->sscan('myset', $it, 'a*', 5); //将指定成员从一个源集合移动到一个目的集合。若源集合不存在或不包含指定元素则不做任何操作,返回false。 //参数:源集合,目标集合,移动元素 $ret = $redis->sMove('myset', 'myset2', 'aaa'); //返回所有给定集合之间的差集,不存在的集合视为空集。 $ret = $redis->sDiff('myset', 'myset2', 'myset3'); //将所有给定集合之间的差集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回差集元素个数。 //参数:第一个参数为目标集合,存储差集。 $ret = $redis->sDiffStore('myset3', 'myset', 'myset2'); //返回所有给定集合的交集,不存在的集合视为空集。 $ret = $redis->sInter('myset', 'myset2', 'myset3'); //将所有给定集合的交集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回交集元素个数。 //参数:第一个参数为目标集合,存储交集。 $ret = $redis->sInterStore('myset4', 'myset', 'myset2', 'myset3'); //返回所有给定集合的并集,不存在的集合视为空集。 $ret = $redis->sUnion('myset', 'myset2', 'myset3'); //将所有给定集合的并集存储在指定的目的集合中。若目的集合已存在则覆盖它。返回并集元素个数。 //参数:第一个参数为目标集合,存储并集。 $ret = $redis->sUnionStore('myset4', 'myset', 'myset2', 'myset3');
以上がPHPでRedis Set操作を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。