Redis 使用记录(四)

栏目: 数据库 · 发布时间: 6年前

内容简介:List 是一个简单的 String 列表,按照插入顺序排序。可以添加一个元素到 List 的头部或者尾部。一个 List 最多可以包含 2例如微博的信息流这种,可以按照时间顺序排列显示。可以将任务添加进 List 中,然后根据顺序执行任务。

List (列表)

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

应用场景

信息列表

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

任务队列

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

关注列表

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

实例

<?php
include 'redis.php';

$redis = getRedis();
$redisKey = 'name_list';

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

参考资料: 菜鸟教程Lrem


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

物联网导论(第2版)

物联网导论(第2版)

刘云浩 / 科学出版社 / 2013-8 / 45.00元

物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化三个重要特征。 《物联网工程专业系列教材:物联网导论(第2版)》从物联网的感知识别层、网络构建层、管理服务层和综合应用层这四层分别进行阐述,深入浅出地为读者拨开萦绕于物联网这个概念的重重迷雾,引领求知者渐渐步入物联网世界,帮助探索者把握第三......一起来看看 《物联网导论(第2版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码