SADD

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

<?php
var_dump($redis->sadd('set-key','A','B','C')); //int(3)

SMEMBERS

返回集合key中的所有成员。

<?php
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->srem('set-key','C'); //移除set-key中的C元素

SISMEMBER

判断member元素是否是集合key的成员。如果member元素是集合的成员,返回1。如果member元素不是集合的成员,或key不存在,返回0。

<?php
var_dump($redis->sismember('set-key','A')); //bool(true)
var_dump($redis->sismember('set-key','F')); //bool(false)

SCARD

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

<?php
var_dump($redis->scard('set-key')); //int(3)

SMOVE

将指定元素从指定集合移动到目标集合。smove(要移除元素的集合,要移动到的目标集合,要移除的元素);

<?php
$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->sadd('s-key','A','B','C','D','E');
var_dump($redis->spop('s-key')); //string(1) "E"
var_dump($redis->spop('s-key2'));  //该key不存在 ,返回bool(false)

SRANDMEMBER

随机返回容器中一个元素,不移除该元素

<?php
$redis->srandmember('s-key');

SINTER

返回两个集合的交集 没有交集返回一个空数组,若参数只有一个集合,则返回集合对应的完整的数组

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sinter('s-key1','s-key2')); //array(2) { [0]=> string(1) "C" [1]=> string(1) "E" }

SINTERSTORE

将两个集合的交集放入另一个集合里。

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sInterStore('store','s-key1','s-key2')); //int(2) var_dump($redis->smembers('store')); // array(2) { [0]=> string(1) "C" [1]=> string(1) "E" }

SUNION

返回两个集合的并集,即使多个集合有相同元素 只保留一个

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sunion('s-key1','s-key2'));
//array(7) { [0]=> string(1) "C" [1]=> string(1) "A" [2]=> string(1) "G" [3]=> string(1) "F" [4]=> string(1) "B" [5]=> string(1) "D" [6]=> string(1) "E" }

SUNIONSTORE

将两个集合的并集放入另一个集合里。

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sUnionStore('store','s-key1','s-key2')); //int(7)
var_dump($redis->smembers('store'));
//array(7) { [0]=> string(1) "C" [1]=> string(1) "A" [2]=> string(1) "G" [3]=> string(1) "F" [4]=> string(1) "B" [5]=> string(1) "D" [6]=> string(1) "E" }

SDIFF

返回两个集合的差集,注意是存在于第一个参数集合里的元素

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sdiff('s-key1','s-key2')); //返回数组,该数组元素是存在于s-key1集合而不存在于集合s-key2
//array(3) { [0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "D" }
<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
$redis->sadd('s-key3','A','B','H','R','J');
var_dump($redis->sdiff('s-key1','s-key2','s-key3')); //返回数组,该数组元素是存在于s-key1集合而不存在于集合s-key2,s-key3
//array(1) { [0]=> string(1) "D" }

SDIFFSTORE

将两个集合的差集放入另一个集合里。

<?php
$redis->sadd('s-key1','A','B','C','D','E');
$redis->sadd('s-key2','E','G','C','F','E');
var_dump($redis->sdiffstore('store','s-key1','s-key2')); //int(3)
var_dump($redis->smembers('store')); //array(3) { [0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "D" }

常用php操作redis命令整理(四)SET类型的更多相关文章

  1. 常用php操作redis命令整理(三)LIST类型

    LIST 头元素和尾元素:头元素指的是列表左端/前端第一个元素,尾元素指的是列表右端/后端第一个元素.举个例子,列表list包含三个元素:x, y, z,其中x是头元素,而z则是尾元素.空列表:指不包 ...

  2. 常用php操作redis命令整理(一)通用及字符串类型

    Key相关操作 TYPE 类型检测,字符串返回string,列表返回 list,set表返回set/zset,hash表返回hash,key不存在返回0 <?php echo $redis-&g ...

  3. 常用php操作redis命令整理(二)哈希类型

    HSET将哈希表key中的域field的值设为value;如果field是哈希表中的一个新建域,并且值设置成功,返回1;如果哈希表中域field已经存在且旧值已被新值覆盖,返回0. <?php ...

  4. 常用php操作redis命令整理(五)ZSET类型

    ZADD 向有序集合插入一个元素,元素关联一个数值,插入成功返回1,同时集合元素不可以重复, 如果元素已经存在返回 0 <?php var_dump($redis->zadd(,'A')) ...

  5. Redis命令拾遗四——集合类型(命令补充)

    补充下上篇文章集合的命令. 上篇地址 博客园蜗牛 http://www.cnblogs.com/tdws/p/5785939.html SCARD Key获得执行集合中元素的数量. SDIFFSTOR ...

  6. Windows常用的一些DOS命令整理

    Windows常用的一些DOS命令整理.. MS DOS 命令大全 ---清空Dos屏幕使用命令:cls -- Dos切换当前目录到D盘:cd d: 一.基础命令 1 dir 无参数:查看当前所在目录 ...

  7. python操作Redis安装、支持存储类型、普通连接、连接池

    一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...

  8. 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表

    python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...

  9. 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型

    第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...

随机推荐

  1. Python查询数据库时候遇到的乱码问题

    今天在看Python连接数据库的内容,然后遇到了最常遇到的字符乱码的状况,这真的很烦人,由于我用的是3.6的版本,,默认的是utf-8,如果是3以下的版本,请在文件开头加一句代码 #encoding= ...

  2. Android AndroidManifest.xml配置文件

    AndroidManifest.xml配置文件介绍本质:AndroidManifest.xml是整个应用的主配置清单文件.包含:该应用的包名.版本号.组件.权限等信息.作用:记录该应用的相关配置信息. ...

  3. JavaScript的记忆函数真的可以提升性能吗?

      1 记忆函数是什么呢? 让函数记住曾经计算过的参数对应的结果 2 那我们为什么使用记忆函数呢? 答案是 避免重复计算 3 在工作中如何使用和实现函数记忆 ? 形成闭包,在闭包中维护一个哈希数组(其 ...

  4. 【linux系列】vmware12pro安装centos7

    安装参考:http://blog.csdn.net/guin_guo/article/details/49403889 安装完成之后ip还是不成功无法连接网络: 进入/etc/sysconfig/ne ...

  5. LeetCode——Invert Binary Tree

    Description: Invert a binary tree. 4    /    \  2      7 /  \    /   \1   3   6   9 to 4 / \ 7 2 / \ ...

  6. cookie带来的致命危险

    1.危险:当记录了过多的cookie时,可能导致http header过大,进而导致服务器端发生错误,导致用户无法打开页面. 2.cookie限制: 各浏览器对单cookie键的限制基本都在4kb左右 ...

  7. Java初学者笔记一:元类、获取类型、枚举

    零.绪论: 2018年新年伊始,学习Java的冲动越来越强烈,毕竟以后无论是做安全开发还是安全研究都必不可少的掌握这门语言,所以在不断完善Python作为脚本语言的主语言的情况下觉得学习Java作为高 ...

  8. dubbo用途介绍

    转自:http://blog.csdn.net/wuliu_forever/article/details/52053928 我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术, ...

  9. Java 泛型 <? super T> 中 super 怎么 理解?与 < ? extends T>有何不同?

    Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? 简介 前两篇文章介绍了泛型的基本用法.类型擦除以及泛型数组.在泛型的使用中,还有个重要的 ...

  10. 通过nginx 访问thinkphp

    修改 nginx的配置文件: location / { root /var/www; index index.html index.htm index.php; if (!-e $request_fi ...