Redis List操作

embedded/2024/12/19 13:56:59/

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);

listTrim_57">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.ppmy.cn/embedded/147034.html

相关文章

bean创建源码

去字节面试&#xff0c;直接让人出门左拐&#xff1a;Bean 生命周期都不知道&#xff01; spring启动创建bean流程 下面就接上了 bean生命周期 doGetBean Object sharedInstance this.getSingleton(beanName); sharedInstance this.getSingleton(beanName, new ObjectF…

从零用java实现 小红书 springboot vue uniapp (5)购物页聊天页

前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了个人中心页开发 今天我们具体的去进行实现购物页 聊天页 并且分享我开发时遇到的问题 首先先看效果 商品页 商品数据先用笔记数据 我们对布局整体规划一下 搜索组件 搜索组件是fiexd布局一直在页面…

【每日一题 基础题】[蓝桥杯 2020 省 AB3] 乘法表

[蓝桥杯 2020 省 AB3] 乘法表 乘法表 九九乘法表是学习乘法时必须要掌握的。在不同进制数下&#xff0c;需要不同的乘法表。 例如, 四进制下的乘法表如下所示&#xff1a; 1 * 11 2 * 12 2 * 210 3 * 13 3 * 212 3 * 321 请注意&#xff0c;乘法表中两个数相乘的顺序必须为样例…

自动呼入机器人如何与人工客服进行无缝切换?

自动呼入机器人如何与人工客服进行无缝切换&#xff1f; 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/lihaiya/freeipcc 自动呼入机器人与人工客服的无缝切换详解 自动呼入机器人与人工客服之间的无缝切换是确保客户体验连续…

0 前言

ArCS作为一个基于Rust的CAD&#xff08;计算机辅助设计&#xff09;开源系统&#xff0c;尽管已经有四年未更新&#xff0c;但其设计理念和技术实现仍然具有很高的学习和参考价值。以下是对ArCS项目的进一步分析和解读&#xff1a; 一、项目亮点与技术优势 高效与安全的Rust语…

Dcoker安装nginx,完成反向代理和负载均衡

1. 简介 官网&#xff1a;nginx Nginx是一个高性能的 HTTP 和反向代理 Web 服务器。它的主要功能包括反向代理、负载均衡和动静分离等。正因为 Nginx的这些功能能够为系统带来性能和安全方面的诸多优势&#xff0c;我们在项目部署时需要引入 Nginx组件。接下来我们会逐一向大…

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线&#xff0c;需要对两条曲线进行分别描述时&#xff0c;应设置左、右坐标轴为不同颜色&#xff0c;并设置刻度线&#xff0c;且坐标轴颜色需要和曲线颜色相同。 二、实现方法 1.1、可以实现&#xff1a; 1…

如何构建一个简单的SpringBoot程序

文章目录 构建一个简单的SpringBoot项目代码目录1 创建Maven项目2 配置项目的Maven3 配置 pom.xml 导入相关的依赖4 测试运行5 启动MainApp.java 的main函数进行测试 构建一个简单的SpringBoot项目 代码目录 1 创建Maven项目 2 配置项目的Maven 注意 &#xff1a;这里需要自己…