redis 的set数据类型
相关命令
1.SADD
SADD key-name item1 [item 2…]
将一个或多个成员元素加入到集合中
2.SREM
SMEMBERS key-name item1 [item 2…]
移除集合中的一个或多个成员元素,不存在的成员元素会被忽略
3.SMEMBERS
SMEMBERS key-name
返回集合中的所有的成员。 不存在的集合 key 被视为空集合
4.SCARD
SCARD key-name
返回集合中元素的数量
php示例
$redis = new redis();
$redis->connect('127.0.0.1', 6609);
$redis->delete('set1');
$redis->delete('set2');
$redis -> sAdd('set1','a','b','c','d','e');
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//rem
//结果 array(5) { [0]=> string(1) "d" [1]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" }
var_dump($redis -> sRem('set1','d','e'));
echo "<br/>";
//结果 int(2)
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果 array(3) { [0]=> string(1) "b" [1]=> string(1) "c" [2]=> string(1) "a" }
var_dump($redis -> sCard('set1'));
echo "<br/>";
//结果 int(3)
5.SMOVE
SMOVE source-key dest-key item
将 item元素从 source-key集合移动到 dest-key 集合
成功移除返回1,否则返回0
php示例
var_dump($redis -> sMove('set1','set2','c'));
echo "<br/>";
//结果 bool(true)
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果 array(2) { [0]=> string(1) "b" [1]=> string(1) "a" }
var_dump($redis -> sMembers('set2'));
echo "<br/>";
//结果 array(1) { [0]=> string(1) "c" }
6.SPOP
SPOP key-name
随机移除集合中的一个元素
php示例
//spop
var_dump($redis -> sPop('set1'));
echo "<br/>";
//结果 string(1) "a"
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果 array(1) { [0]=> string(1) "b" }
7.SISMEMBER
SMEMBERS key-name item
检测元素item是否存在与几何key-name中
php示例
var_dump($redis -> sMembers('set1'));
//结果 array(2) { [0]=> string(1) "b" [1]=> string(1) "a" }
var_dump($redis -> sIsMember('set1','a'));
echo "<br/>";
//结果 bool(true)
8.SRANDMEMBER
SRANDMEMBER key-name [count]
从集合里面随机返回一个或多个元素
php示例
//srandmember
$redis->delete('set1');
$redis -> sAdd('set1','a','b','c','d','e');
var_dump($redis -> sRandMember('set1'));
echo "<br/>";
//结果 string(1) "b"
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果 array(5) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(1) "e" [3]=> string(1) "a" [4]=> string(1) "d" }
var_dump($redis -> sRandMember('set1',3));
echo "<br/>";
//结果 array(3) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(1) "d" }
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(1) "e" [3]=> string(1) "a" [4]=> string(1) "d" }
9.SINTER
SINTER key-name [key-name1……]
返回给定所有给定集合的交集。 不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集
10.SINTERSTORE
SINTERSTORE key-name [key-name1……]
将给定集合之间的交集存储在指定的集合中。如果指定的集合已经存在,则将其覆盖
php示例
$redis->delete('set1');
$redis->delete('set2');
$redis -> sAdd('set1','a','b','c','d','e');
$redis -> sAdd('set2','a','b','x','y','z');
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "d" [1]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" }
var_dump($redis -> sMembers('set2'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "y" [1]=> string(1) "x" [2]=> string(1) "a" [3]=> string(1) "b" [4]=> string(1) "z" }
var_dump($redis -> sInter('set1','set2'));
echo "<br/>";
//结果array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
var_dump($redis -> sInterStore('set-inter','set1','set2'));
echo "<br/>";
//int(2)
var_dump($redis -> sMembers('set-inter'));
echo "<br/>";
//结果array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
11.SUNION
SUNION key-name [key-name1……]
返回给定集合的并集。不存在的集合 key 被视为空集
12.SUNIONSTORE
SUNIONSTORE dest-key key-name [key-name1……]
将给定集合的并集存储在指定的集合 dest-key中
php示例
$redis->delete('set1');
$redis->delete('set2');
$redis -> sAdd('set1','a','b','c','d','e');
$redis -> sAdd('set2','a','b','x','y','z');
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "d" [1]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" }
var_dump($redis -> sMembers('set2'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "y" [1]=> string(1) "x" [2]=> string(1) "a" [3]=> string(1) "b" [4]=> string(1) "z" }
var_dump($redis -> sUnion('set1','set2'));
echo "<br/>";
//结果array(8) { [0]=> string(1) "y" [1]=> string(1) "z" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" [5]=> string(1) "x" [6]=> string(1) "d" [7]=> string(1) "a" }
var_dump($redis -> sUnionStore('set-union','set1','set2'));
echo "<br/>";
//int(8)
var_dump($redis -> sMembers('set-union'));
echo "<br/>";
//结果array(8) { [0]=> string(1) "y" [1]=> string(1) "z" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" [5]=> string(1) "x" [6]=> string(1) "d" [7]=> string(1) "a" }
13.SDIFF
SDIFF key-name [key-name1……]
返回给定集合之间的差集
14.SDIFFSTORE
SDIFF dest-key key-name [key-name1……]
将给定集合之间的差集存储在指定的集合dest-key中
php示例
$redis->delete('set1');
$redis->delete('set2');
$redis -> sAdd('set1','a','b','c','d','e');
$redis -> sAdd('set2','a','b','x','y','z');
var_dump($redis -> sMembers('set1'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "d" [1]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "b" [4]=> string(1) "e" }
var_dump($redis -> sMembers('set2'));
echo "<br/>";
//结果array(5) { [0]=> string(1) "y" [1]=> string(1) "x" [2]=> string(1) "a" [3]=> string(1) "b" [4]=> string(1) "z" }
var_dump($redis -> sDiff('set1','set2'));
echo "<br/>";
//结果array(3) { [0]=> string(1) "d" [1]=> string(1) "c" [2]=> string(1) "e" }
var_dump($redis -> sDiffStore('set-diff','set1','set2'));
echo "<br/>";
//int(3)
var_dump($redis -> sMembers('set-diff'));
echo "<br/>";
//结果array(3) { [0]=> string(1) "d" [1]=> string(1) "c" [2]=> string(1) "e" }
sisMember
redis 的set数据类型的更多相关文章
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis中各种数据类型对应的jedis操作命令
redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- Redis进阶实践之四Redis的基本数据类型
一.引言 今天正式开始了Redis的学习,如果要想学好Redis,必须先学好Redis的数据类型.Redis为什么会比以前的Memchaed等内存缓存软件使用的更频繁,适用范围更广呢?就是因为R ...
- redis数据库各种数据类型的增删改查命令
redis的常用数据操作: redis是key-value的数据结构,每条数据都是一个键值对. 键的类型是字符串并且键不能重复. redis最基本数据类型是string 所以下面的操作可以省略引号&q ...
- redis的基本数据类型
一:redis是一个开源的,使用C语言编写,支持网络,可基于内存亦可持久化的日志型,key-value方式存储的nosql数据库.作为缓存服务器,速度效率都很快,和memcache相似 redis支持 ...
- redis中各种数据类型的常用操作方法汇总
在spring中使用jedisTemplate操作,详见https://www.cnblogs.com/EasonJim/p/7803067.html 一.Redis的五大数据类型 1.String( ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis 五种数据类型
前言 前面学会了单机, 学会了集群, 但是redis咋用啊? 或者说, redis支持哪些数据类型呢? 常用的有五种: String , Hash, List, Set, zset(SortedSet ...
- Redis进阶实践之四Redis的基本数据类型(转载4)
Redis进阶实践之四Redis的基本数据类型 一.引言 今天正式开始了Redis的学习,如果要想学好Redis,必须先学好Redis的数据类型.Redis为什么会比以前的Memchaed等内存缓存软 ...
随机推荐
- 微服务之springCloud-docker-feign-hystrix(六)
简介 上一节我们讨论feign的配置,这节我们讨论一下,feign+hystrix调用生产者时,进行容错处理 一.创建模块(microservice-consumer-movie-feign-with ...
- PHP判断ajax请求:HTTP_X_REQUESTED_WITH
PHP判断ajax请求的原理: 在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的 header头信息, 在jquery框架中,对于通过它的$.ajax, $.g ...
- <孤独者生存(小小辛巴投资手记)>读书笔记
书在这里 让投机客梦醒的办法就是让资产损失至少一半 天不会塌下来,世界末日也不会这么快就降临,经济也许会萧条但不会崩溃,人们还得穿衣吃饭.休息劳作 每个笨蛋都会从自己的错误中吸取教训,聪明的人则从别人 ...
- SQL自定义函数
1,自定义函数--返回单一值 CREATE FUNCTION [dbo].[Round2] ( -- Add the parameters for the function here @p1 sql_ ...
- PCL点云曲面重建(1)
在测量较小的数据时会产生一些误差,这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有漏洞,可以采用对数据重采样来解决这样问题,通过对周围的数据点进行高阶多项式插值来重建表 ...
- Nagios系列1,选择
Zabbix和Nagios哪个更好 zabbix: 1.分布式监控,适合于构建分布式监控系统,具有node,proxy 2种分布式模式 2.自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分 ...
- ubuntu14.04 3D桌面效果制作
参考:http://www.360doc.com/content/14/0919/22/11681374_410808557.shtml
- @Resource、@Autowired跟default-autowire区别联系
@Resource.@Autowired和default-autowire区别联系 今天看了一工程,里面既有default-autowire,又有@Autowired,还有@Resource.我就不明 ...
- 浅谈跨域以WebService对跨域的支持
跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源. 在 ...
- Java 之 File
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...