+
95
-

php操作redis的set集合有哪些方法?

请问php操作redis的set集合有哪些方法?

网友回复

+
15
-

SADD

将一个或多个member元素加入到集合key当中。(从左侧插入,最后插入的元素在0位置),集合中已经存在member 则返回false,不存在添加成功 返回true

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
var_dump($redis->sadd('set-key','A','B','C')); //int(3)
SMEMBERS 返回集合key中的所有成员。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
var_dump($redis->sMembers('set-key')); //array(3) { [0]=> string(1) "C" [1]=> string(1) "A" [2]=> string(1) "B" }

SREM

移除集合key中的一个或多个member元素,不存在的member元素会被忽略。

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->srem('set-key','C'); //移除set-key中的C元素

SISMEMBER 判断member元素是否是集合key的成员。如果member元素是集合的成员,返回1。如果member元素不是集合的成员,或key不存在,返回0。
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
var_dump($redis->sismember('set-key','A')); //bool(true)
var_dump($redis->sismember('set-key','F')); //bool(false)

SCARD

返回集合key的基数(集合中元素的数量)。

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
var_dump($redis->scard('set-key')); //int(3)

SMOVE 将指定元素从指定集合移动到目标集合。smove(要移除元素的集合,要移动到的目标集合,要移除的元素);
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->sadd('s-key1','A','B','C');
$redis->sadd('s-key2','1','2','3');

var_dump($redis->smove('s-key1','s-key2','C')); //key1集合存在元素返回bool(true)
var_dump($redis->smove('s-key1','s-key2','F')); //key1集合不存在元素返回 bool(false)

var_dump($redis->smembers('s-key1')); //array(2) { [0]=> string(1) "A" [1]=> string(1) "B" }
var_dump($redis->smembers('s-key2')); // array(4) { [0]=> string(1) "C" [1]=> string(1) "3" [2]=> string(1) "2" [3]=> string(1) "1" }

SPOP 随机返回容器中一个元素,并移除该元素
<?php
$redis = new Red...

点击查看剩余70%

我知道答案,我要回答