资讯专栏INFORMATION COLUMN

Redis 使用记录(四)

mj / 1347人阅读

摘要:列表是一个简单的列表,按照插入顺序排序。可以添加一个元素到的头部或者尾部。应用场景信息列表例如微博的信息流这种,可以按照时间顺序排列显示。任务队列可以将任务添加进中,然后根据顺序执行任务。关注列表可以存储关注列表粉丝列表等也是一个选择。

List (列表)

List 是一个简单的 String 列表,按照插入顺序排序。可以添加一个元素到 List 的头部或者尾部。一个 List 最多可以包含 232 - 1 个元素(40多亿)。

应用场景 信息列表

例如微博的信息流这种,可以按照时间顺序排列显示。

任务队列

可以将任务添加进 List 中,然后根据顺序执行任务。

关注列表

可以存储关注列表、粉丝列表等(Set 也是一个选择)。

实例
del($redisKey);
$redis->lPush($redisKey, "kobe");// 插入到list头部
print_r($redis->lRange($redisKey, 0, -1));// 取出list中所有数据 Array ( [0] => kobe )
echo "
"; $redis->rPush($redisKey, "Gasol");// 插入到list尾部; print_r($redis->lRange($redisKey, 0, -1));// Array ( [0] => kobe [1] => Gasol ) echo "
"; echo $redis->lLen($redisKey) . "
";// 获取list长度 2 echo $redis->lIndex($redisKey, 1) . "
";// 通过索引获取值 Gasol $redis->lInsert($redisKey, "before", "kobe", "fisher");// 在某个值 before/after 插入新值 print_r($redis->lRange($redisKey, 0, -1));// Array ( [0] => fisher [1] => kobe [2] => Gasol ) echo "
"; print_r($redis->lRange($redisKey, 2, 3));// 获取指定范围的值 Array ( [0] => Gasol ) echo "
"; $redis->lSet($redisKey, 2, "iverson");// 通过索引设置值 print_r($redis->lRange($redisKey, 0, -1));// Array ( [0] => fisher [1] => kobe [2] => iverson) echo "
"; $redis->lRem($redisKey, "iverson", 0);// 移除list中值 第三个参数参见下方链接 print_r($redis->lRange($redisKey, 0, -1));// Array ( [0] => fisher [1] => kobe ) echo "
"; echo $redis->lPop($redisKey) . "
";// 移除并且获取list的第一个元素 fisher $redis->rPush($redisKey, "Gasol"); echo $redis->rPop($redisKey) . "
";// 移除并且获取list的最后一个元素 Gasol $redis->lPushx("name_list1", "kobe");// 插入到list头部,无当前list时不生效 print_r($redis->lRange("name_list1", 0, -1));// Array ( ) echo "
"; $redis->rPushx("name_list2", "kobe");// 插入到list尾部,无当前list时不生效 print_r($redis->lRange("name_list2", 0, -1));// Array ( ) echo "
"; $redis->lPush($redisKey, "Gasol", "fisher", "iverson"); $redis->lTrim($redisKey, 2, 3);// 只保留指定区间的值,其他都删除 print_r($redis->lRange($redisKey, 0, -1));// Array ( [0] => Gasol [1] => kobe ) echo "
";

参考资料:菜鸟教程、Lrem。

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

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

相关文章

  • Redis 使用记录

    摘要:列表是一个简单的列表,按照插入顺序排序。可以添加一个元素到的头部或者尾部。应用场景信息列表例如微博的信息流这种,可以按照时间顺序排列显示。任务队列可以将任务添加进中,然后根据顺序执行任务。关注列表可以存储关注列表粉丝列表等也是一个选择。 List (列表) List 是一个简单的 String 列表,按照插入顺序排序。可以添加一个元素到 List 的头部或者尾部。一个 List 最多可...

    Songlcy 评论0 收藏0
  • redis学习笔记()--RDB持久化和AOF持久化

    摘要:触发机制命令将阻塞当前服务器,知道过程完成为止。进程执行操作创建子进程,持久化过程由子进程负责,完成后自动结束。高效但是数据不会被持久化。 RDB 基本概念 RDB持久化是在指定的时间间隔内将内存中的数据集快照写入磁盘,相当于Snapshot快照,它恢复时是将快照文件直接读到内存里。 配置文件 showImg(https://segmentfault.com/img/bVbhN4V?w...

    TesterHome 评论0 收藏0
  • Redis集群搭建与简单使用

    摘要:集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽的方式来分配的。默认分配了个,当我们一个时,会用算法来取模得到所属的,然后将这个分到哈希槽区间的节点上,具体算法就是。 工具 VMware版本号:12.0.0 CentOS版本:7.0 三台虚拟机(IP):192.168.1.8、192.168.1.9、192.168.1.10 showImg(https://...

    qqlcbb 评论0 收藏0
  • Redis集群搭建与简单使用

    摘要:集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽的方式来分配的。默认分配了个,当我们一个时,会用算法来取模得到所属的,然后将这个分到哈希槽区间的节点上,具体算法就是。 工具 VMware版本号:12.0.0 CentOS版本:7.0 三台虚拟机(IP):192.168.1.8、192.168.1.9、192.168.1.10 showImg(https://...

    megatron 评论0 收藏0
  • SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

    摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...

    kuangcaibao 评论0 收藏0

发表评论

0条评论

mj

|高级讲师

TA的文章

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