php的redis扩展使用,PHP-Redis扩展使用手册(四)(待续)

/*添加一个或者多个value到无顺序集合总,如果value已经成set中,则返回false

* @param key set名称

* @param value

* ...

* @return int 新set长度*/

$redis->sAdd(‘key1‘ , ‘member1‘); /*1, ‘key1‘ => {‘member1‘}*/

$redis->sAdd(‘key1‘ , ‘member2‘, ‘member3‘); /*2, ‘key1‘ => {‘member1‘, ‘member2‘, ‘member3‘}*/

$redis->sAdd(‘key1‘ , ‘member2‘); /*0, ‘key1‘ => {‘member1‘, ‘member2‘, ‘member3‘}*/

/*返回set的value数量;sSize

* @param key set

* @return int size*/

$redis->sAdd(‘key1‘ , ‘member1‘);$redis->sAdd(‘key1‘ , ‘member2‘);$redis->sAdd(‘key1‘ , ‘member3‘); /*‘key1‘ => {‘member1‘, ‘member2‘, ‘member3‘}*/

$redis->sCard(‘key1‘); /*3*/

$redis->sCard(‘keyX‘); /*0*/

/*返回n个set的差集

* @param key set1

* ...

* @param key setn

* @return array 差集*/

$redis->delete(‘s0‘, ‘s1‘, ‘s2‘);$redis->sAdd(‘s0‘, ‘1‘);$redis->sAdd(‘s0‘, ‘2‘);$redis->sAdd(‘s0‘, ‘3‘);$redis->sAdd(‘s0‘, ‘4‘);$redis->sAdd(‘s1‘, ‘1‘);$redis->sAdd(‘s2‘, ‘3‘);var_dump($redis->sDiff(‘s0‘, ‘s1‘, ‘s2‘)); //array(0=>‘2‘,1=>‘4‘)

/*求差集,并把差集保存在第一个set中

* @param key set1

* ...

* @param key setn

* @return int 返回差集元素个数或者false*/

$redis->delete(‘s0‘, ‘s1‘, ‘s2‘);$redis->sAdd(‘s0‘, ‘1‘);$redis->sAdd(‘s0‘, ‘2‘);$redis->sAdd(‘s0‘, ‘3‘);$redis->sAdd(‘s0‘, ‘4‘);$redis->sAdd(‘s1‘, ‘1‘);$redis->sAdd(‘s2‘, ‘3‘);var_dump($redis->sDiffStore(‘dst‘, ‘s0‘, ‘s1‘, ‘s2‘)); //2

var_dump($redis->sMembers(‘dst‘)); //array(0=>‘2‘,1=>‘4‘)

/*求交集,

* @param key set1

* ...

* @param key setn

* @return array 差集*/

$redis->sAdd(‘key1‘, ‘val1‘);$redis->sAdd(‘key1‘, ‘val2‘);$redis->sAdd(‘key1‘, ‘val3‘);$redis->sAdd(‘key1‘, ‘val4‘);$redis->sAdd(‘key2‘, ‘val3‘);$redis->sAdd(‘key2‘, ‘val4‘);$redis->sAdd(‘key3‘, ‘val3‘);$redis->sAdd(‘key3‘, ‘val4‘);var_dump($redis->sInter(‘key1‘, ‘key2‘, ‘key3‘)); //array(0=>‘val3‘,1=>‘val4‘)

/*求交集,并把差集保存在第一个set中

* @param key set1

* ...

* @param key setn

* @return int 返回交集元素个数或者false*/

$redis->sAdd(‘key1‘, ‘val1‘);$redis->sAdd(‘key1‘, ‘val2‘);$redis->sAdd(‘key1‘, ‘val3‘);$redis->sAdd(‘key1‘, ‘val4‘);$redis->sAdd(‘key2‘, ‘val3‘);$redis->sAdd(‘key2‘, ‘val4‘);$redis->sAdd(‘key3‘, ‘val3‘);$redis->sAdd(‘key3‘, ‘val4‘);var_dump($redis->sInterStore(‘output‘, ‘key1‘, ‘key2‘, ‘key3‘)); //2

var_dump($redis->sMembers(‘output‘)); //array(0=>‘val3‘,1=>‘val4‘)

/*判断value是否在set里面,别名:sContains

* @param key

* @param value

* @return bool 包含返回true,失败返回false*/

$redis->sAdd(‘key1‘ , ‘member1‘);$redis->sAdd(‘key1‘ , ‘member2‘);$redis->sAdd(‘key1‘ , ‘member3‘); /*‘key1‘ => {‘member1‘, ‘member2‘, ‘member3‘}*/

$redis->sIsMember(‘key1‘, ‘member1‘); /*TRUE*/

$redis->sIsMember(‘key1‘, ‘memberX‘); /*FALSE*/

/*返回一个set

* @param key set

* @param array set_val_array*/

$redis->delete(‘s‘);$redis->sAdd(‘s‘, ‘a‘);$redis->sAdd(‘s‘, ‘b‘);$redis->sAdd(‘s‘, ‘a‘);$redis->sAdd(‘s‘, ‘c‘);var_dump($redis->sMembers(‘s‘)); //array(0=>‘c‘,1=>‘a‘,3=>‘b‘)

/*将set1中元素移动set2中,set1不保留

* @param key scrkey

* @param key deskey

* @param value 元素

* @return bool 成功返回true,失败返回false*/

$redis->sAdd(‘key1‘ , ‘member11‘);$redis->sAdd(‘key1‘ , ‘member12‘);$redis->sAdd(‘key1‘ , ‘member13‘); /*‘key1‘ => {‘member11‘, ‘member12‘, ‘member13‘}*/

$redis->sAdd(‘key2‘ , ‘member21‘);$redis->sAdd(‘key2‘ , ‘member22‘); /*‘key2‘ => {‘member21‘, ‘member22‘}*/

$redis->sMove(‘key1‘, ‘key2‘, ‘member13‘);/*‘key1‘ => {‘member11‘, ‘member12‘}*/

/*‘key2‘ => {‘member21‘, ‘member22‘, ‘member13‘}*/

/*移除并返回随机一个元素从set中

* @param string key

* @return bool/string 元素返回值或者false*/

$redis->sAdd(‘key1‘ , ‘member1‘);$redis->sAdd(‘key1‘ , ‘member2‘);$redis->sAdd(‘key1‘ , ‘member3‘); /*‘key1‘ => {‘member3‘, ‘member2‘, ‘member1‘}*/

$redis->sPop(‘key1‘); /*‘member1‘, ‘key1‘ => {‘member3‘, ‘member2‘}*/

$redis->sPop(‘key1‘); /*‘member3‘, ‘key1‘ => {‘member2‘}*/

/*随机返回一个元素,但是不移除该元素

* @param key list

* @param int(optional)

* 如果count是整数且小于元素的个数,返回含有 count

* 个不同的元素的数组,如果count是个整数且大于集合中元素的个数时,

* 仅返回整个集合的所有元素,当count是负数,

* 则会返回一个包含count的绝对值的个数元素的数组,

* 如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况

* @return string/array/false 如果不提供count参数,则返回元素,如果提供count,

* 则返回元素数组,如果有误,则返回false*/

$redis->sAdd(‘key1‘ , ‘member1‘);$redis->sAdd(‘key1‘ , ‘member2‘);$redis->sAdd(‘key1‘ , ‘member3‘); /*‘key1‘ => {‘member3‘, ‘member1‘, ‘member2‘}*/

//No count

$redis->sRandMember(‘key1‘); /*‘member1‘, ‘key1‘ => {‘member3‘, ‘member1‘, ‘member2‘}*/

$redis->sRandMember(‘key1‘); /*‘member3‘, ‘key1‘ => {‘member3‘, ‘member1‘, ‘member2‘}*/

//With a count

$redis->sRandMember(‘key1‘, 3); //Will return an array with all members from the set

$redis->sRandMember(‘key1‘, 2); //Will an array with 2 members of the set

$redis->sRandMember(‘key1‘, -100); //Will return an array of 100 elements, picked from our set (with dups)

$redis->sRandMember(‘empty-set‘, 100); //Will return an empty array

$redis->sRandMember(‘not-a-set‘, 100); //Will return FALSE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值