SADD

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

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

SMEMBERS

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

var_dump($redis->sMembers('set-key')); //array(3) { [0]=> string(1) "C" [1]=> string(1) "A" [2]=> string(1) "B" }

SREM

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

$redis->srem('set-key','C'); //移除set-key中的C元素

SISMEMBER

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

var_dump($redis->sismember('set-key','A')); //bool(true)

var_dump($redis->sismember('set-key','F')); //bool(false)

SCARD

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

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

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

$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

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

$redis->srandmember('s-key');

SINTER

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

$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

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

$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

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

$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

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

$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" }

$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

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

$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" }

set类型 php,常用php操作redis命令整理(四)SET类型详解相关推荐

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

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

  2. Redis 命令整理

    Redis 命令整理 一.从大而全的方向看,完整的命令查看文档地址: http://doc.redisfans.com/ 二.Redis 键(key)   常用 案例 三.Redis 字符串(Stri ...

  3. Redis系列教程(七):Redis并发竞争key的解决方案详解

    Redis高并发的问题 Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题: 高并发架构系列:Redis缓存和MySQL数据一致性方案详解 如何解决Redis缓 ...

  4. [总结]FFMPEG命令行工具之ffmpeg详解

    目录 0 前言 1 语法 Synopsis 2 描述 Description 3 详细描述 Detailed description 3.1 滤镜 Filtering 3.1.1 简单滤镜图 Simp ...

  5. Redis五种基本数据类型底层详解(原理篇)

    Redis五种基本数据类型底层详解 详细介绍Redis用到的数据结构 简单动态字符串 SDS和C字符串的区别 总结 链表 字典 哈希表 字典 哈希算法 解决键冲突 rehash(重点) 渐进式reha ...

  6. mysql 点赞数据库设计_基于redis实现的点赞功能设计思路详解

    点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysq ...

  7. 每天一个linux命令(25):linux文件属性详解

    每天一个linux命令(25):linux文件属性详解 Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下 ...

  8. python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解

    Python之使用adb shell命令启动应用的方法详解 一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具 ...

  9. redis cluster管理工具redis-trib.rb详解

    redis cluster管理工具redis-trib.rb详解 redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集 ...

最新文章

  1. Linux运维跳槽必备的40道面试精华题
  2. vscode折叠/展开所有区域代码快捷键
  3. 老师,我来帮你推问卷
  4. 不是程序员也能看懂的ZCash零知识证明
  5. 时序数据库技术体系 – InfluxDB 多维查询之倒排索引
  6. 没有代码天赋的我,先退出了
  7. SQL Server 常用函数总结
  8. Linux vim编辑器简单使用之二:vim操作快捷键、小技巧
  9. Windows XP 系统优化-百度转载
  10. 微观数据库整理(公开渠道获得-持续更新)
  11. 简单的三步教你下载PyCharm汉化插件,让你学习Python事功半倍
  12. 不 只{`pyr_PYR的完整形式是什么?
  13. 艺术留学|工业设计专业2019大学新排名
  14. 【AGC】年龄分级问卷全攻略
  15. uni-app 文件下载
  16. 卓有成效的管理者—第一章 卓有成效是可以学会的
  17. PostgreSQL下载与安装(Windows版)
  18. android os仿ios,安卓仿ios12桌面全套仿安卓完美版
  19. aspnetdb.mdb数据库介绍
  20. R统计笔记(二):投影运算与转换

热门文章

  1. leetcode 1227 python
  2. PAT乙级(1017 A除以B)
  3. downloader怎么用 hls_如何下载企业微信直播回放视频(HLS格式)
  4. 2021 ACDU China Tour-北京站暨数据库大咖讲坛(第3期)成功举办!(附PPT下载)
  5. SmartCommit让复合提交不在是难题
  6. 带你深入理解Java的IO到底是个啥
  7. GaussDB(DWS)磁盘维护:vacuum full执行慢怎么办?
  8. 从基础到实践,一文带你看懂HashMap
  9. c语言程序2048_C语言2048小游戏演示和说明
  10. 邢台学计算机的技校有哪些,邢台技校有哪些,邢台技校排名