/**
*
* 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(列表)操作的更多相关文章

  1. python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis

    今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...

  2. 征服 Redis + Jedis + Spring (三)—— 列表操作【转】

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...

  3. python对redis的常用操作 上 (对列表、字符串、散列结构操作)

    这里的一切讨论均基于python的redis-py库. 安装使用: pip install redis 然后去获取一个redis客户端: redis_conn = redis.Redis(host=R ...

  4. Redis数据类型之列表操作

    redis 目录: 1.自动分配(redis) - 批量导入 2.微信自动绑定 3.django的ORM做不了的操作,怎么自定义操作数据库 extra ’ 4.报表 公司每个月销售的业绩 5.权限 = ...

  5. 八十三:redis之redis的字符串、过期时间、列表操作

    字符串操作 设置值 set key value 设置有空格的值,加引号 set username 'hello world' 获取值 get key 删除值:del key 清除所有内容:flusha ...

  6. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

  7. redis的hash操作在集中式session中的应用

    在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...

  8. Redis压缩列表原理与应用分析

    摘要 Redis是一款著名的key-value内存数据库软件,同时也是一款卓越的数据结构服务软件.它支持字符串.列表.哈希表.集合.有序集合五种数据结构类型,同时每种数据结构类型针对不同的应用场景又支 ...

  9. redis数据类型-列表类型

    列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...

  10. 缓存数据库-redis数据类型和操作(list)

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

随机推荐

  1. Django-02

    知识预览 Ajax前戏:json Ajax简介 jquery实现的ajax JS实现的ajax 回到顶部 Ajax前戏:json 什么是json? 定义: JSON(JavaScript Object ...

  2. ES查看segment大小

    摘自:http://www.aboutyun.com/thread-17078-1-1.html Segment Memory Segment不是file吗?segment memory又是什么?前面 ...

  3. 重拾安卓_01_安卓开发环境搭建(eclipse)

    一.下载安装Android SDK 1.下载地址 (1)官网(可FQ选择):http://developer.android.com/sdk/index.html (2)不可FQ选择:http://w ...

  4. 2013VS快捷键

    VS2013常用快捷键: 1.回到上一个光标位置/前进到下一个光标位置  1)回到上一个光标位置:使用组合键“Ctrl + -”: 2)前进到下一个光标位置:“Ctrl + Shift + - ”. ...

  5. NO3:步履蹒跚-完成第一章节学习

    第一章小记: 每个C程序都要求有一个main()函数(多于一个main()函数是不合法的(已犯错:在VS 2010一个项目里两个C文件都有main函数,不能编译通过,必须删除一个文件,永记)).mai ...

  6. 【队列】最大值减去最小值小于等于num的子数组数量

    摘自<程序员代码面试指南> 题目: 给定数组 arr 和整数 num, 共返回有多少个⼦数组满⾜如下情况:max(arr[i...j]) - min(arr[i...j]) <= n ...

  7. BZOJ5443:[CEOI2018]Lottery

    我对状态空间的理解:https://www.cnblogs.com/AKMer/p/9622590.html 题目传送门:https://www.lydsy.com/JudgeOnline/probl ...

  8. 更改Linux时区的两种方法

    在Azure上的Linux虚拟机启动后默认是UTC的时区.对很多应用要记录时间戳非常的不方便. 本文将介绍两种更改Linux时间戳的方法,供大家参考. 1.修改/etc/localtime文件 控制系 ...

  9. Java中继承的规则

    一.子类中对父类构造函数的调用规则 1.如果不显式指定,子类中的构造函数会默认调用父类中的无参构造 测试代码 package day07; import java.sql.Date; import j ...

  10. openssh for windows