摘要:集合类型简介集合和列表十分的相似,都可以存储多个字符串。这里不是表示我们再次检查所有元素,发现只剩下返回版本演示第一步,链接数据库我们先插入一个元素到集合。
3、set集合类型
简介
set集合和list列表十分的相似,都可以存储多个字符串。但是list列表可以存储重复值,而set集合中不可重复。
集合结构
其中的user为键名,其可以包含多个 不重复 的元素,各不相同
[ "user":[ "yanying1", "yanying2", "yanying3" ] ]
操作方法
命令 | 行为 |
---|---|
sadd | 将指定的元素添加到集合 |
smembers | 返回集合所包含的所有元素,如果数据量大, 谨慎使用 |
sismember | 检查给定的元素是否在集合中 |
srem | 如果给定的元素在集合中,则删除它 |
$redis->sadd | PHP版本将元素添加到集合 |
$redis->smembers | PHP版本取出集合中的所有元素 |
$redis->sismember | PHP版本检测元素是否存在于集合中 |
$redis->srem | PHP版本从集合中删除一个元素 |
演示(命令行 + PHP演示)
命令行:
添加一个元素到集合,返回 1代表插入成功;0元素代表已经存在
sadd set-key item // 返回 1
同理,再添加元素到集合
sadd set-key item2 // 返回1,表示插入成功,集合内没有该元素 sadd set-key item3 // 返回1 sadd set-key item // 返回0,表示插入失败,集合内已经存在
添加完了之后,我们来获取集合内全部的元素,成功返回 全部元素
smembers set-key // 得到结果:"item","item2","item3",由于元素不能重复,所以最后一个item不存在集合中
下面介绍这个集合的重要功能,使用sismember命令 检查元素是否在集合中 , 存在返回1,不存在返回0
sismember set-key item4 // 由于item4不在集合中,所以返回 0 sismember set-key item // item元素是存在于集合中的,返回1;同理item2,item3也是会返回1
下面我们尝试删除一个元素,如果删除成功过后,会返回 被删除元素的个数
srem set-key item //删除成功,返回删除个数:1 srem set-key item // item之前已经被删除,所以删除失败,返回个数0。这里不是表示true or false
我们再次检查所有元素,发现只剩下item2,item3
smembers set-key // 返回"item2","item3"
PHP版本演示
第一步,链接redis数据库
$redis = new Redis(); $redis->connect("127.0.0.1", 6379);
我们先插入一个元素item到set-key集合。1代表插入成功;0元素代表已经存在
$redis->sadd("set-key","item"); // 添加成功,返回1
接下来,我们再次添加一次item到set-key集合,发现已经存在,并且 返回了0
$redis->sadd("set-key","item"); // 集合中已经存在item,添加失败,返回0
为了下面演示,我们在添加几个元素
$redis->sadd("set-key","item2"); $redis->sadd("set-key","item3");
现在集合中有3个元素了,我们使用smembers命令全部取出
$r = $redis->smembers("set-key"); var_dump($r);
打印过后,我们获取了一个包含item,item2,item3的数组
array (size=3) 0 => string "item" (length=4) 1 => string "item2" (length=5) 2 => string "item3" (length=5)
下面我们使用sismember命令来检查一个元素是否存在于集合中,这个在 检查如昵称是否已经存在 时候非常有用
$redis->sismember("set-key","item"); //该元素存在集合中,则为 boolean true,反之boolean false
最后,还是删除一个元素。假设是item,第一次删除,该元素存在于集合,则返回 被删除的个数1
$redis->srem("set-key","item"); // int 1
这时,我们再次执行删除命令,由于元素已经不存在集合,所以,返回 被删除0个
$redis->srem("set-key","item"); // int 0
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30491.html
摘要:本文为实战读书笔记简介是一个非关系型远程内存数据库,由于操作都在内存中,所以的速度非常快,性能十分强劲。同时,还可以自动的以两种不同的方式将数据库内容持久化到硬盘,保证数据的完整性。数据格式支持字符串列表集合散列有序集合数据类型。 本文为《Redis实战》读书笔记 Redis简介 Redis是一个非关系型远程内存数据库,由于操作都在内存中,所以Redis的速度非常快,性能十分强劲。 它...
摘要:字符串类型简介普通键值对存储,一个键对应一个值。字符串结构操作方法类型应该是操作最为简单的一种了。我们可以使用来获取值,设置值,来删除值。 1、string字符串类型 简介 普通键值对存储,一个键对应一个值。 字符串结构 [ name:yanying, age:25, city:nanjing ] 操作方法 string类型应该是操作最为简单的一种了。我们可以...
阅读 3321·2019-08-29 16:17
阅读 1978·2019-08-29 15:31
阅读 2648·2019-08-29 14:09
阅读 2552·2019-08-26 13:52
阅读 747·2019-08-26 12:21
阅读 2127·2019-08-26 12:08
阅读 994·2019-08-23 17:08
阅读 1926·2019-08-23 16:59