(PHP)redis List(列表)操作
/**
*
* List操作
* 列表操作
* 可理解为数组操作
* 插入、删除数据按照一定规律排列的
* 元素可重复
* 适用于队列
*
*/ //在列表头部插入一个值one,当列表不存在时自动创建一个列表,key1为列表名
$redis->lpush("key1", "one"); //在列表尾部插入一个值two,当列表不存在时自动创建一个列表,key1为列表名
$redis->rPush("key1","two"); //将一个插入已存在的列表头部,列表不存在时操作无效
$redis->rPushx("key1","1"); //删除列表的第一个元素并返回列表和列表的第一个元素,当key1不存在或不是列表则返回false
$redis->lPop('key1'); //删除列表的最后一个元素并返回列表和列表的最后一个元素,当key1不存在或不是列表则返回false
$redis->rPop('key1'); //删除并或取列表的第一个元素,如果没有元素则会阻塞直到等待超时
$redis->blPop('asd', 10); //删除并或取列表的最后一个元素,如果没有元素则会阻塞直到等待超时
$ret = $redis->brPop('asd', 10); //移除列表key1中最后一个元素,将其插入另一个列表asd头部,并返回这个元素。若源列表没有元素则返回false
$redis->rpoplpush('key1', 'asd'); //移除列表key1中最后一个元素,将其插入另一个列表asd头部,并返回这个元素。如果列表没有元素则会阻塞列表直到超时,超时返回false。
$ret = $redis->brpoplpush('key1', 'asd', 10); //返回列表长度
$redis->lLen('key1'); //通过索引 (也就是下标key) 获取列表中的元素,如果没有该索引,则返回false。
$redis->lindex('key1', 0); //通过索引修改列表中元素的值,如果没有该索引,则返回false。
$redis->lSet('key1', 2, '1'); //在列表key1中指定元素six前面或后面插入元素。若指定元素不在列表中,或列表不存在时,不执行任何操作
//Redis::AFTER插入元素后面 Redis::BEFORE插入元素前面
//返回值:插入成功返回插入后列表元素个数,若key1不存在返回0,若key1不是列表返回false
$redis->lInsert('key1', Redis::BEFORE, 'one', '1'); //根据第三个参数(count),删除掉相对的value
//count > 0 : 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
//count < 0 : 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
//count = 0 : 移除表中所有与value相等的值。
//返回实际删除元素个数
$redis->lrem('key1', '1', -2); //对一个列表进行截取,只保留指定区间 (如:下标1到10) 的元素,其他元素都删除。成功返回true。
$redis->ltrim('key1', 1, 10); // 获取存储的数据并输出列表下标0到5的数据
// 0为开始查询的列表里的第一个元素,-1则为最后一个元素
// 5代表查询5条数据,当5为-1时则查看所有数据,
$redis->lrange("key1", 0 ,5);
(PHP)redis List(列表)操作的更多相关文章
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...
- 征服 Redis + Jedis + Spring (三)—— 列表操作【转】
一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...
- python对redis的常用操作 上 (对列表、字符串、散列结构操作)
这里的一切讨论均基于python的redis-py库. 安装使用: pip install redis 然后去获取一个redis客户端: redis_conn = redis.Redis(host=R ...
- Redis数据类型之列表操作
redis 目录: 1.自动分配(redis) - 批量导入 2.微信自动绑定 3.django的ORM做不了的操作,怎么自定义操作数据库 extra ’ 4.报表 公司每个月销售的业绩 5.权限 = ...
- 八十三:redis之redis的字符串、过期时间、列表操作
字符串操作 设置值 set key value 设置有空格的值,加引号 set username 'hello world' 获取值 get key 删除值:del key 清除所有内容:flusha ...
- python之redis和memcache操作
Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...
- redis的hash操作在集中式session中的应用
在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...
- Redis压缩列表原理与应用分析
摘要 Redis是一款著名的key-value内存数据库软件,同时也是一款卓越的数据结构服务软件.它支持字符串.列表.哈希表.集合.有序集合五种数据结构类型,同时每种数据结构类型针对不同的应用场景又支 ...
- redis数据类型-列表类型
列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...
- 缓存数据库-redis数据类型和操作(list)
转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...
随机推荐
- 百度编辑器ueditor的toolbars的各个元素代表的功能说明
百度编辑器ueditor的toolbars的各个元素代表的功能说明
- 用截取的部分图像创建新图像--关于cvGetSubRect,cvGetImage的用法
CvMat* cvGetSubRect(const CvArr* arr, CvMat* submat, CvRect rect)可以把截取图像中需要的区域存入矩阵.把IplImage *传给arr, ...
- Android之单元测试学习
1.单元测试概念 单元测试(又称为模块测试),检验程序模块(软件设计的最小单位)正确性的测试工作,常常是程序员写的一段代码.对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子 ...
- ACM学习历程—ZOJ3785 What day is that day?(数论)
Description It's Saturday today, what day is it after 11 + 22 + 33 + ... + NN days? Input There are ...
- BZOJ3680:吊打XXX
我对模拟退火的理解:https://www.cnblogs.com/AKMer/p/9580982.html 我对爬山的理解:https://www.cnblogs.com/AKMer/p/95552 ...
- CF 914 G Sum the Fibonacci —— 子集卷积,FWT
题目:http://codeforces.com/contest/914/problem/G 其实就是把各种都用子集卷积和FWT卷起来算即可: 注意乘 Fibonacci 数组的位置: 子集卷积时不能 ...
- DSP/BIOS程序启动顺序
基于TI的DSP芯片的应用程序分为两种:一般应用程序:DSP/BIOS应用程序. 为简化编程,TI提供了一套C的编程接口,它以API和宏的形式封装了TI的所有硬件模块,这套接口统称DSP/BIOS.D ...
- Excel对重复数据分组,求出不同的数据(office 2013)
第一步: 第二步: 第三步:
- Python模块-requests(一)
requests不是python自带的,使用前需要安装 发送请求 HTTP请求类型有GET,POST,PUT,DELETE,HEAD和OPTIONS 使用requests发送请求的方法如下: > ...
- Activity---弹出右侧窗口
第一步: Activity弹出窗口的布局 <?xml version="1.0" encoding="UTF-8"?> //布局文件main_top ...