列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。

1、向列表两端增加元素
LPUSH key value [value...]
RPUSH key value [value...]

LPUSH命令用来向列表左边增加元素,返回值表示增加元素后列表的长度
redis>LPUSH numbers 1

LPUSH命令还支持同时增加多个元素
redis>LPUSH numbers 2 3

RPUSH命令用来向列表右边增加元素,返回值表示增加元素后列表的长度

2、从列表两端弹出元素
LPOP key
RPOP key

LPOP命令可以从列表左边弹出一个元素。RPOP命令可以从列表右边弹出一个元素。

使用列表来模拟栈和队列的操作:
如果想把列表当做栈,则搭配使用LPUSH和LPOP或RPUSH和RPOP,如果想当成队列,则搭配使用LPUSH和RPOP或RPUSH和LPOP

3、获取列表中元素的个数
LLEN key
当键不存在时LLEN会返回0

4、获得列表片段
LRANGE key start stop 
LRANGE命令将返回索引从start到stop之间的所有元素(包含两端的元素)。Redis的列表起始索引为0。
LRANGE命令也支持负索引,表示从右边开始计算序数,如"-1"表示最右边第一个元素,-2表示最右边第二个元素。

LRANGE key 0 -1可以获取列表中的所有元素。另外一些特殊情况如下:
(1)如果start的索引位置比stop的索引位置靠后,则会返回空列表
(2)如果stop大于实际的索引范围,则会返回到列表最右边的元素

5、删除列表中指定的值
LREM key count value
LREM命令会删除列表中前count个值为value的元素,返回值是实际删除的元素个数。

根据count值的不同,LREM命令的执行方式会略有差异
(1)当count>0时LREM命令会从列表左边开始删除前count个值为value的元素
(2)当count<0时LREM命令会从列表右边开始删除前count个值为value的元素
(3)当count=0时LREM命令会删除所有值为value的元素

6、获得/设置指定索引的元素值
LINDEX key index
LSET key index value

redis>LINDEX key 0

如果index是负数则表示从右边开始计算的索引,左右边元素的索引是-1。

LSET是另一个通过索引操作列表的命令,它会将索引为index的元素赋值为value。

7、只保留列表指定片段
LTRIM key start end
LTRIM命令可以删除指定索引范围之外的所有元素,其指定列表范围的方法和LRANGE命令相同。

8、向列表中插入元素
LINSERT key BEFORE|AFTER pivot value
LINSERT命令首先会在列表中从左到右查找值为pivot的元素,然后根据第二个参数是BEFORE还是AFTER来决定将value插入到该元素的前面还是后面
LINSERT命令的返回值是插入后列表的元素个数

9、将元素从一个列表转到另一个列表
RPOPLPUSH source destination
PPOPLPUSH命令会先从source列表类型键的右边弹出一个元素,然后将其加入到destination列表类型键的左边,并返回这个元素的值,整个过程是原子的。

列表类型(list)相关推荐

  1. 字符串补充知识及列表类型

    字符串需要掌握的方法 1.strip 去除指定字符lstrip 去除左边指定字符rstrip 去除右边指定字符print('**sss****'.lstrip('*'))print('**sss*** ...

  2. 数字、字符串、列表类型及常用内置方法

    目录 可变不可变类型 基本数据类型及内置方法 数字类型 整型 浮点型 数字类型总结 字符串类型 字符串类型的常用操作+内置方法 字符串类型总结 列表类型 列表类型的常用操作+内置方法 列表类型总结 可 ...

  3. redis的数据结构||1) 字符串类型2) 哈希类型3) 列表类型4) 集合类型 5) 有序集合类型详解

    2. 下载安装     1. 官网:https://redis.io     2. 中文网:http://www.redis.net.cn/     3. 解压直接可以使用:         * re ...

  4. re.findall为什么返回的元素会是个元素为元组的列表类型呢

    问题起源: 如下案例: s1 = "(\d)([a-zA-Z])" s2 = "ddd.111kkkk6666lll" import re re.findall ...

  5. 元组类型与列表类型的操作函数和方法

    序列类型定义 序列是具有先后关系的一组元素,序列是一维元素向量,元素之间可以相同,元素类型可以不同.元素间由序号引导,通过下标访问序列的特定元素 序列类型的衍生包括:字符串类型.元组类型.列表类型 序 ...

  6. Redis数据类型--列表类型

    夫陶公清风千古,余又何人,敢称庶几 文章目录 介绍 一.基本命令 1. 向列表两端增加元素 2.从列表两端弹出元素 3. 获取列表中元素的个数 4.获得列表片段 二.命令进阶 1.获得/设置指定索引的 ...

  7. Redis(3-3):列表类型

    2019独角兽企业重金招聘Python工程师标准>>> 列表类型list可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部使用双向 ...

  8. 列表类型(sort,reverse,list(),append(),切片)、求中位数,平均数,标准差练习

    映射类型和操作         映射类型是"键-值"数据项的组合,每个元素是一个键 值对,即元素是(key, value),元素之间是无序的.键值对 (key, value)是一种 ...

  9. Python入门:对Excel数据处理的学习笔记【第五章】列表类型处理技术

    注:该学习笔记是根据曾志贤老师编写的<从Excel到Python,用Python轻松处理Excel数据>所学习整理的笔记. 第五章 列表类型处理技术 列表是Python中最基础的数据结构. ...

  10. python列表类型pop_为什么python列表具有pop()但没有push()

    有人知道为什么已有一个list.pop删除并返回最后一个元素(索引为-1)且list.append语义与该用法一致的原因,为什么Python的list.append函数不称为list.push吗? 它 ...

最新文章

  1. Linux内核移植之二:Kconfig分析
  2. LYVC揭秘硅谷核心基金圈投资游戏规则
  3. Oracle的不完全恢复
  4. mysql root mysqld_MySQL how to run mysqld as root
  5. BugkuCTF-Crypto题贝斯家
  6. Java--接口、抽象与继承
  7. 程序员面试金典——17.1无缓存交换
  8. Ubuntu中启用关闭Network-manager网络设置问题! 【Server版本】
  9. JSON3-翻译(不当之处,请指正)
  10. 部署Java Web项目到Heroku
  11. 基于STM32F407的ESP8266WIFI模块联控
  12. 运用PS做图片快捷键
  13. c语言msgbox函数,msgbox函数的返回值类型为什么
  14. simditor 图片上传成功后修改图片地址
  15. 安装了两种oracle数据库怎么卸载,oracle数据库卸载步骤
  16. 【信息安全技术】RSA算法的研究及不同优化策略的比较
  17. Python 如何被证明是 2021 年的转折点语言
  18. Bootm启动流程分析
  19. IPv6技术精要--第17章双栈和隧道
  20. python爬虫:爬取所有车标图片保存本地

热门文章

  1. 你家里画墙绘了吗?画墙绘必备攻略【本视墙绘艺术】
  2. css3动画(animation)效果1-漂浮的白云
  3. 获取android手机通讯录 SIM卡
  4. 大数据爆炸,你能听懂我的话吗?
  5. Excel动画图解:Excel标题跨列居中(转)
  6. 深入理解 Linux eBPF:一个完整阅读清单(转载)
  7. Java学习总结-持续更新
  8. ibm收购红帽满清十大酷刑_IBM Business Process Manager的十大编辑精选
  9. 华为----1-划分vlan
  10. python 二叉树中序遍历