List操作,redis中的List在在内存中按照一个name对应一个List来存储。

注:列表存入 从右到左

如图:

  • lpush(name,values)
  • # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
  • # 如:
    # r.lpush('oo', ,,)
    # 保存顺序为: ,, # 扩展:
    # rpush(name, values) 表示从右向左操作
  • lpushx(name,value)
  • # 在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边
  • # 更多:
    # rpushx(name, value) 表示从右向左操作
  • llen(name)
  • # name对应的list元素的个数
  • linsert(name, where, refvalue, value))
  • # 在name对应的列表的某一个值前或后插入一个新值
  • # 参数:
    # name,redis的name
    # where,BEFORE或AFTER
    # refvalue,标杆值,即:在它前后插入数据
    # value,要插入的数据
  • r.lset(name, index, value)
  • # 对name对应的list中的某一个索引位置重新赋值
  • # 参数:
    # name,redis的name
    # index,list的索引位置
    # value,要设置的值
  • r.lrem(name, value, num)
  • # 在name对应的list中删除指定的值
  • # 参数:
    # name,redis的name
    # value,要删除的值
    # num, num=,删除列表中所有的指定值;
    # num=,从前到后,删除2个;
    # num=-,从后向前,删除2个
  • lpop(name)
  • # 在name对应的列表的左侧获取第一个元素并在列表中移除,返回值则是第一个元素
  • # 更多:
    # rpop(name) 表示从右向左操作
  • lindex(name, index)
  • #在name对应的列表中根据索引获取列表元素
  • lrange(name, start, end)
  • # 在name对应的列表分片获取数据
  • # 参数:
    # name,redis的name
    # start,索引的起始位置
    # end,索引结束位置
  • ltrim(name, start, end)
  • # 在name对应的列表中移除没有在start-end索引之间的值
  •  参数:
    # name,redis的name
    # start,索引的起始位置
    # end,索引结束位置
  • rpoplpush(src, dst)
  • # 从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
  • # 参数:
    # src,要取数据的列表的name
    # dst,要添加数据的列表的name
  • blpop(keys, timeout)
  • # 将多个列表排列,按照从左到右去pop对应列表的元素
  • # 参数:
    # keys,redis的name的集合
    # timeout,超时时间,当元素所有列表的元素获取完之后,阻塞等待列表内有数据的时间(秒), 表示永远阻塞 # 更多:
    # r.brpop(keys, timeout),从右向左获取数据
  • brpoplpush(src, dst, timeout=0)
  • # 从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧
  • # 参数:
    # src,取出并要移除元素的列表对应的name
    # dst,要插入元素的列表对应的name
    # timeout,当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒), 表示永远阻塞

Python Redis list的更多相关文章

  1. python+redis测试环境搭建

    针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...

  2. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  3. 生产消费者模式与python+redis实例运用(中级篇)

    上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程 ...

  4. 生产消费者模式与python+redis实例运用(基础篇)

    根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃:还有一个选择,做 ...

  5. python redis中blpop和lpop的区别

    python redis 中blpop返回的是元组对象,因此返回的时候注意 lpop返回的是对象

  6. windows中实现python,redis服务自动重启(任务计划程序+bat脚本)

    需求:银行电脑无法自动开机,只能 通过 应用相关服务每天自动重启的方式实现 服务更新并且防止服务假死,内存过大 等情况 相关工具:win10系统中,使用windows自带的任务计划程序 和 bat脚本 ...

  7. python redis分布式锁改进

    0X01 python redis分布式锁通用方法 REDIS分布式锁实现的方式:SETNX + GETSET 使用Redis SETNX 命令实现分布式锁 python 版本实现上述思路(案例1) ...

  8. python redis之连接池的原理

    python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下 ...

  9. python redis 实现简单的消息订阅

    python + redis 实现简单的消息订阅 订阅端 import redis from functools import wraps class Subscribe: def __init__( ...

  10. Python—redis

    一.redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

随机推荐

  1. Java字符串连接的多种实现方法及效率对比

    JDK 1.8(Java 8)里新增String.join()方法用于字符串连接.本文基于<Java实现String.join()和效率比较>一文,分析和比较四种自定义实现与String. ...

  2. maven的安装及试用

    安装包准备: jdk-7u79-linux-x64.rpmapache-maven-3.5.3-bin.tar.gz 安装: rpm -ihv jdk-7u79-linux-x64.rpmtar -x ...

  3. java学习之路--面试之多线程基础

    Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是 ...

  4. mysql中主外键关系

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  5. python全栈开发 * 24 知识点汇总 * 180705

    24 模块-------序列化一.什么是模块 模块:py文件就是一个模块.二.模块的分类:(1)内置模块 (登录模块,时间模块,sys模块,os模块)(2)扩展模块 (itchat 微信有关,爬虫,b ...

  6. 泡泡一分钟:Semantic Labeling of Indoor Environments from 3D RGB Maps

    张宁 Semantic Labeling of Indoor Environments from 3D RGB Maps Manuel Brucker,  Maximilian Durner,  Ra ...

  7. MVCC&PURGE&分布式事务

    Ⅰ.MVCC介绍 consistent non-locking read,通过行多版本控制的方式读取当前执行时间点的记录 默认情况下innodb select没有任何锁,读到的记录在更新就通过undo ...

  8. 实验二:MAL——简单后门 by:赵文昊

    实验二:MAL--简单后门 一.后门是什么? 哪里有后门呢? 编译器留后门 操作系统留后门 最常见的当然还是应用程序中留后门 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序. 二.认识netc ...

  9. 洛谷P2743 乐曲主题Musical Themes [USACO5.1] SA

    正解:SA 解题报告: 传送门 这题三个条件嘛,那就一个个考虑下都解决了就把这题解决了嘛QwQ 那就直接分别针对三个条件写下各个击破就欧克辣? 1)长度大于等于5:求出答案之后和5比大小 2)不能有公 ...

  10. [js]js设计模式-单例模式

    单例模式 不同模块之间需要同时开发, // 单例模式: 把描述同一个事物的属性和方法放在同一个内存空间下. // 优点: 分组,防止冲突 // p1 p2也叫做命名空间(模块开发) var p1 = ...