当前位置: 首页 > article >正文

Redis List操作

Redis List操作

1、lPush

在名称为key的list左边(头)添加一个值为value的 元素

$redis->lPush(key, value);

2、rPush

在名称为key的list右边(尾)添加一个值为value的 元素

$redis->rPush(key, value);

3、lPushx/rPushx

在名称为key的list左边(头)/右边(尾)添加一个值为value的元素,如果value已经存在,则不添加

$redis->lPushx(key, value);

4、lPop/rPop

输出名称为key的list左(头)起/右(尾)起的第一个元素,删除该元素

$redis->lPop('key');

5、blPop/brPop

lpop命令的block版本。即当timeout为0时,若遇到名称为key i的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作

$redis->blPop('key1', 'key2', 10);

6、lSize

返回名称为key的list有多少个元素

$redis->lSize('key');

7、lIndex, lGet

返回名称为key的list中index位置的元素

$redis->lGet('key', 0);

8、lSet

给名称为key的list中index位置的元素赋值为value

$redis->lSet('key', 0, 'X');

9、lRange, lGetRange

返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有)

$redis->lRange('key1', 0, -1);

10、lTrim, listTrim

截取名称为key的list,保留start至end之间的元素

$redis->lTrim('key', start, end);

11、lRem, lRemove

删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count<0从尾到头删除|count|个值为value的元素

$redis->lRem('key', 'A', 2);

12、lInsert

在名称为为key的list中,找到值为pivot 的value,并根据参数Redis::BEFORE | Redis::AFTER,来确定,newvalue 是放在 pivot 的前面,或者后面。如果key不存在,不会插入,如果 pivot不存在,return -1

$redis->delete('key1'); 
$redis->lInsert('key1', Redis::AFTER, 'A', 'X'); 
$redis->lPush('key1', 'A'); $redis->lPush('key1', 'B'); 
$redis->lPush('key1', 'C'); 
$redis->lInsert('key1', Redis::BEFORE, 'C', 'X');
$redis->lRange('key1', 0, -1);
$redis->lInsert('key1', Redis::AFTER, 'C', 'Y');
$redis->lRange('key1', 0, -1);
$redis->lInsert('key1', Redis::AFTER, 'W', 'value');

13、rpoplpush

返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

$redis->delete('x', 'y');
$redis->lPush('x', 'abc'); 
$redis->lPush('x', 'def'); 
$redis->lPush('y', '123'); 
$redis->lPush('y', '456'); // move the last of x to the front of y. var_dump($redis->rpoplpush('x', 'y'));
var_dump($redis->lRange('x', 0, -1));
var_dump($redis->lRange('y', 0, -1)); 

string(3) "abc" 
array(1) { [0]=> string(3) "def" } 
array(3) { [0]=> string(3) "abc" [1]=> string(3) "456" [2]=> string(3) "123" }

http://www.kler.cn/a/447367.html

相关文章:

  • Loki 微服务模式组件介绍
  • JNDI基础
  • wireshark初认识
  • STL 剖析
  • OpenSSL 心脏滴血漏洞(CVE-2014-0160)
  • OpenCV圆形标定板检测算法findGrid原理详解
  • Docker容器命令
  • clickhouse-副本和分片
  • StarRocks:存算一体模式部署
  • maui开发成生安卓apk,运行提示该应用与此设备的CPU不兼容
  • Spring Boot + Dubbo 的整合 ,仅需六步
  • Redis 初相识:开启缓存世界大门
  • 四川XX信息技术职业学院教案
  • react概念篇
  • 巧用AI显著提升工作和学习的效率和质量
  • 【heapdump敏感信息提取】JDumpSpider v1.1
  • 电子电气架构 --- 队列刷写场景及刷写上位机浅析
  • BaseCTF_web_week3
  • 71 mysql 中 insert into ... on duplicate key update ... 的实现
  • linux日常常用命令(AI向)
  • Java(二十六)Object类equals与toString
  • 探索 Python 中的控制语句:break、continue 和 else
  • WPS 认证机制
  • 半连接转内连接规则的原理与代码解析 |OceanBase查询优化
  • Socket 收发内部拆包封包函数
  • python 曲线拟合,曲线拟合交点