Redis列表是简单的字符串列表,按照插入顺序排序。

一个列表最多可以包含  232-1 个元素 (4294967295, 每个列表超过40亿个元素)

插入元素在列表头部(lPush,Lpushx)

// lPush 一个或多个值插入到列表头部。key 不存在,创建一个空列表并执行操作。key 存在但不是列表类型时,返回false
$redis->lPush('page',233,234,235);
// 只能将一个值value插入到列表key的表头,列表不存在时操作无效
$redis->lPushx('page',230);

插入元素在列表尾部(rPush,rPushx)

// rPush 将一个或多个值插入到列表的尾部
$redis->rPush('page',236,237);
// rPushx 只能将一个值插入到表尾 如果列表不存在,操作无效
$redis->rPushx('page',240);

在指定位置插入新元素(lInsert)

// lInsert(list_key,position,existing_value,new_value)
// position,before/after 在现有元素前/后插入新元素
// existing_value 现有元素
// new_value 插入元素
$redis->lInsert('page','before','234','Fruits');

修改元素值(lSet)

// 通过下标修改链表元素的值,下标是从0开始 
$redis->lSet('page', 0, '调整测试');

将列表弹出的元素插入到另外一个列表中并返回它(Brpoplpush)

// Brpoplpush(list1,another_list,timeout)
// 如果列表没有元素会阻塞列表,直到等待超时或发现可弹出元素
$redis->Brpoplpush('page','page2',2);

将列表最后一个元素移除,添加到另一个列表并返回 (Rpoplpush)

// Rpoplpush(list_key,other_list_key)
$redis->Rpoplpush('page','page2');

获取元素个数(lLen)

$redis->lLen('page');

获取下标对应的元素(lIndex)

$redis->lIndex('page',2)

获取范围内元素集(lRange)

// lRange(list_key,start,end) 0表示第一个元素,-1表示最后一个元素,-2表示倒数第二个元素
// 如果 start 大于最大下标,返回一个空列表
// 如果end大于最大下标,Redis将end的值设置为最大下标
$arr = $redis->lRange('page', 0, 1); // 前两个元素
$arr = $redis->lRange('page', 0, -1); // 全部元素
$arr = $redis->lRange('page', -2, -1); // 后两个元素

移除并返回列表的第一个元素(lPop,BLpop)

// Blpop(list1,list2,timeout) 如果列表没有元素 会阻塞列表直到等待超时或发现可弹出元素为止
// lPop(key)
$redis->lPop('page');
$redis->lPop('page',5);

移除并返回列表的最一个元素(rPop,BRpop)

// BRpop(list1,list2,timeout) 如果列表没有元素 会阻塞列表直到等待超时或发现可弹出元素为止
$redis->BRpop('page',5);
// rPop(list_key)
$redis->rPop(page);

根据值移除元素(lRem)

// lRem(list_key,count,value):根据参数 count 的值,移除列表中与参数 value 相等的元素
// count > 0 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count。
// count < 0 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
// count = 0 移除表中所有与 value 相等的值
$redis->lRem('page', '234', 2);

保留指定区间的元素(lTrim)

// lTrim(list_key,start,end)。列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。// 如果 start 大于列表的最大下标,将清空整个列表,返回一个空列表
// 如果 end 大于列表的最大下标,Redis将end设置为最大下标的值
$redis->lTrim('favorite_fruit',3,-1);

最新文章

  1. 整数转IP地址
  2. gbk和gb2312的区别
  3. 如何获取配置文件Web.config的AppSetting节点数据
  4. C++可能出错的小细节
  5. 操作SQLite数据库
  6. HDU 2493 Timer 数学(二分+积分)
  7. mysql create routine 权限的一些说明
  8. Hadoop4Win
  9. ctrl+alt+F1~6进入不了字符界面,黑屏的解决办法
  10. 汇编指令-MOV与ldr区别(7)
  11. 为什么ArrayList、LinkedList线程不安全,Vector线程安全
  12. CMDB服务器管理系统【s5day87】:需求讨论-设计思路
  13. maven jstl The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
  14. Winfrom中的几种传值方式
  15. c/c++保存日志程序模板
  16. day19:常用模块(collections,time,random,os,sys)
  17. web工程设计&lt;mysql数据模型-数据类型的优化&gt;
  18. delphi 属性编辑器
  19. 2018.07.03 BZOJ 1007: [HNOI2008]水平可见直线(简单计算几何)
  20. Error after SQL Server 2012 installation: Login Failure for &quot;SQL Server Integration Services 11.0&quot; SSIS service

热门文章

  1. andriod app更新
  2. wget 多线程下载 mwget 工具安装
  3. scrum和SAFe
  4. 【java数据结构与算法】插入排序
  5. 【Asp.net】服务器控件&lt;asp:TextBox &gt;&lt;/TextBox&gt;如何变为多文本控件
  6. Oracle函数NULLIF
  7. 使用Tablayout出现标题消失的原因:setupWithViewPager()的大坑
  8. 标量子查询加聚合函数sql改写一
  9. #maxlength vs #size form api reference
  10. PaddlePaddleOCR安装教程