资讯专栏INFORMATION COLUMN

PHP+Redis实战教程(3):list列表类型

Leck1e / 495人阅读

摘要:列表类型简介列表的功能十分独特,他可以在一个键下面存储个可以重复的元素。其实就是把类型右边的值换成了多个元素组成的列表。这里的代表起始位置,代表结束位置。从到,代表取出所有的值。

2、list列表类型

简介

列表的功能十分独特,他可以在一个键下面存储N个可以重复的元素。其实就是把string类型右边的值换成了多个元素组成的列表。

列表结构

由于列表的可重复性,下面的结构实例中,第一个元素和最后一个元素可以重复。

[
    "user":[
        "yanying",
        "zhangsan",
        "yanying"
    ]
]

操作方法

命令 行为
rpush 从列表的右边添加一个值
lpush 从列表左边添加一个值
rpop 从列表右边删除一个值
lpop 从列表左边删除一个值
lindex 获取列表在给定位置上的一个元素
lrange 获取给定范围所有元素
$redis->rpush PHP版本从右侧添加一个值
$redis->lrange PHP版本获取范围内所有的元素
$redis->lindex PHP版本获取指定索引的值
$redis->lpop PHP版本从左侧删除一个元素

演示(命令行 + PHP演示)

命令行:

向列表添加值之后,会返回 当前的长度(包含元素个数)。(这里是右侧添加,左侧添加同理)

rpush list-key item // (integer) 1 , 当前列表包含元素个数
rpush list-key item2 // (integer) 2
rpush list-key item // (integer) 3 ,即使添加相同值,也是可以添加

获取一定范围内的值,成功返回 范围内所有元素。这里的0代表起始位置,-1代表结束位置。从0到-1,代表取出所有的值。

lrange list-key 0 -1  // 该值返回的结果为:"item","item2","item"。

获取列表里面的 某个元素

lindex list-key 1 // 获取索引为1的元素

从列表左侧删除一个元素,成功返回 被删除的元素

lpop list-key // 上面的列表返回"item"

再次获取列表的 所有元素。记住,索引从0到-1

lrange list 0 -1 // 返回:"item2","item",之前最左边的item已经被删除

PHP版本演示

第一步,链接redis数据库

$redis = new Redis();
$redis->connect("127.0.0.1", 6379);

设置值,成功返回当前 列表中的元素

$r = $redis->rpush("list-key","item"); // 从列表右侧添加一个值item
var_dump($r);// 此时,列表中有一个元素,返回int 1

同理我们再添加item2item元素

$redis->rpush("list-key","item2"); // 含有2个元素,返回int 2
$redis->rpush("list-key","item"); // 含有3个元素,返回int 3

下面,我们获取全部的值

$redis->lrange("tutorial-list", 0 ,-1); // 该值返回的结果为:"item","item2","item"。

我们也可以通过lindex来获取其中某个索引的值,成功返回 索引的值

$redis->lindex("list-key",1); // 获取索引为1的值,也就是第二个:"item2"

添加完了,我们可以使用lpop从左侧删除一个元素,或者使用rpop从右侧删除一个元素,成功返回 被删除元素的值

$r = $redis->lpop("list-key"); // 这里我们做左侧删除了一个元素,即为:"item"

我们再来使用lrange获取所有的元素

$redis->lrange("list-key", 0 ,-1); // 该值返回的结果为:"item2","item"。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30450.html

相关文章

  • PHP+Redis实战教程(4):set集合类型

    摘要:集合类型简介集合和列表十分的相似,都可以存储多个字符串。这里不是表示我们再次检查所有元素,发现只剩下返回版本演示第一步,链接数据库我们先插入一个元素到集合。 3、set集合类型 简介 set集合和list列表十分的相似,都可以存储多个字符串。但是list列表可以存储重复值,而set集合中不可重复。 集合结构 其中的user为键名,其可以包含多个 不重复 的元素,各不相同 [ ...

    NikoManiac 评论0 收藏0
  • PHP+Redis实战教程(1):初识Redis

    摘要:本文为实战读书笔记简介是一个非关系型远程内存数据库,由于操作都在内存中,所以的速度非常快,性能十分强劲。同时,还可以自动的以两种不同的方式将数据库内容持久化到硬盘,保证数据的完整性。数据格式支持字符串列表集合散列有序集合数据类型。 本文为《Redis实战》读书笔记 Redis简介 Redis是一个非关系型远程内存数据库,由于操作都在内存中,所以Redis的速度非常快,性能十分强劲。 它...

    张迁 评论0 收藏0

发表评论

0条评论

Leck1e

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<