redis 学习笔记5 set 集合

概念:

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

1. sadd('keyname','value1','value2','value') (设置集合值,参数 keyname 可以理解为集合名, value 是 存在集合里的值) / scard('集合名') (获取集合里的成员数)

   $redis->sadd('key1','value1','value2','value3'); // 设置集合的值
   $redis->sadd('key1','value2'); // 设置集合的值
   $a = $redis->smembers('key1');//取出集合内容
   $b = $redis->smembers('key2');//取出一个不存在的集合,返回的是空数组
   $redis->scard('key1');

2. sdiff('集合1',‘集合2’) (比较两个集合。以集合1 为标准,判断集合1 里的 元素 在集合2 中是否存在, 返回 不存在的 元素)/ sdiffstore('集合3',集合1,集合2) (将sdiff 得到的数据 存入集合3中 )

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->sdiff('key1','key2');//比较两个集合。以集合1 为标准,判断集合1 里的 元素 在集合2 中是否存在, 返回 不存在的 元素
   $redis->sdiffstore('key3','key1','key2');//以集合1 为标准,判断集合1 里的 元素 在集合2 中是否存在,不存在则存在集合3中

3.sinter(集合1,集合2) (得到两个集合的交集) / sinterstore(集合3,集合1,集合2) (获取集合1 和集合 2的交集存在 集合3中)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->sinter('key1','key2'); // 获取两个集合的交集
   $b = $redis->sinterstore('key3','key1','key2'); //获取集合1 和集合 2的交集存在 集合3中

4.sismember(集合,值) (判断值是不是存在指定的集合里,是的话返回 true 不是返回false)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $a = $redis->sismember('key1','value2'); //判断元素是否是集合里的值,是 返回 true  不是返回 false

5.smove(集合1,集合2,集合1的一个元素值) (将集合1里的元素移动到集合2中)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->smove('key1','key2','value4');// 将 key1 里的 元素 value4 移动 到集合 key2 中
   $b = $redis->smembers('key2');//获取集合 key2 的所有元素

6. spop(集合) (随机返回并移除 集合里的一个元素) / srandmember(集合,个数) (随机获取集合里指定个数元素,不填的话,默认返回一个元素是字符串,填1 返回的是数组形式)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->spop('key1');// 移除并返回集合里的一个元素
   $b = $redis->smembers('key1'); // 获取集合里的所有元素
   $c = $redis->srandmember('key1',1); // 随机获取集合里指定个数元素,不填的话,默认返回一个元素是字符串,填1 返回的是数组形式

7.srem(集合,值1,值2,值n) (移除集合里一个或者多个元素)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->srem('key1','value1','value2'); // 移除集合里一个或多个元素

8..sunion( 集合1,集合2 ,集合n) (返回给定集合的并集,会自动去重) 、 sunionstore(集合3,集合1,集合2) (// 将集合1 集合2 的并集 存到集合3中)

   $redis->sadd('key1','value1','value2','value4'); // 设置集合的值
   $redis->sadd('key2','value2','value3'); // 设置集合的值
   $a = $redis->sunion('key1','key2'); // 返回所有给定集合的并集, 会自动去重
   $b = $redis->sunionstore('key3','key1','key2'); // 将集合1 集合2 的并集 存到集合3中
   $c = $redis->smembers('key3');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值