列表类似于双向链表结构,可从序列两端推入或者弹出元素。

(列表常用命令)

RPUSH : RPUSH key-name value  [value1 value2,...] ------------将一个或多个值推入列表右端

LPUSH : LPUSH key-name value  [value1 value2,...] ------------将一个或多个值推入列表左端

RPOP  : RPOP key-name----------移除并返回列表最右端元素

LPOP  :LPOP key-name----------移除并返回列表最左端元素

LINDEX : LINDEX key-name  offset --------------返回列表中偏移量为offset的元素

LRANGE : LRANGE key-name start end -------------返回列表中偏移量从start到end范围内的元素

LTRIM : LTRIM key-name start end ----------------对列表进行修剪,只保留偏移量从start到end范围内的元素

>>> import redis
>>> conn = redis.Redis(host='192.168.146.129',port=6379,db=0)
>>> conn.rpush('list-key','value1','value2','value3')
3L
>>> conn.lpush('list-key','value3','value4')
5L
>>> conn.lrange('list-key',0,-1)
['value4', 'value3', 'value1', 'value2', 'value3']
>>> conn.lpop('list-key')
'value4'
>>> conn.rpop('list-key')
'value3'
>>> conn.lrange('list-key',0,-1)
['value3', 'value1', 'value2']
>>> conn.ltrim('list-key',1,-1)
True
>>> conn.lrange('list-key',0,-1)
['value1', 'value2']

(阻塞式列表弹出命令以及在列表之间移动元素的命令)  B ----BLOCK

BLPOP : BLPOP key-name [key-name ...] timeout ----从第一个非空列表中弹出位于最左端的元素,或者在time-out秒之内阻塞等待可弹出的元素出现

BRPOP : BRPOP key-name [key-name ...] timeout ----从第一个非空列表中弹出位于最右端的元素,或者在time-out秒之内阻塞等待可弹出的元素出现

RPOPLPUSH : RPOPLPUSH source-key dest-key ----------从soure-key 列表中弹出最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素

BRPOPLPUSH : BRPOPLPUSH  source-key dest-key timeout----------从soure-key 列表中弹出最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现

>>> conn.rpush('list','item1')
1L
>>> conn.rpush('list','item2')
2L
>>> conn.rpush('list2','item3')
1L
>>> conn.brpoplpush('list2','list',1)
'item3'
>>> conn.brpoplpush('list2','list',1)
>>> conn.lrange('list',0,-1)
['item3', 'item1', 'item2']
>>> conn.brpoplpush('list2','list',1)
>>> conn.brpoplpush('list','list2',1)
'item2'
>>> conn.blpop(['list','list2'],1)
('list', 'item3')
>>> conn.blpop(['list','list2'],1)
('list', 'item1')
>>> conn.blpop(['list','list2'],1)
('list2', 'item2')
>>> conn.blpop(['list','list2'],1)

Redis列表操作的更多相关文章

  1. redis列表操作基本命令

    RPUSH:从列表尾部插入一个元素,RPOP:返回列表最后一个元素并从列表删除LPUSH:从列表头部插入一个元素,LPOP:返回列表第一个元素并从列表删除(没看到命名的介绍,个人理解R就是right, ...

  2. [Redis-CentOS7]Redis列表操作(三)

    LPUSH添加列表 127.0.0.1:6379> LPUSH websites www.baidu.com (integer) 1 LRANGE 获取全部值 127.0.0.1:6379> ...

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

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

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

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

  5. Redis 列表 List 主要操作函数

    /** * redis 列表 List Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边) */ //lpush 新增一个列,多个列可以用空格隔 ...

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

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

  7. python对缓存(memcached,redis)的操作

    1.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...

  8. redis列表list

    Redis Rpush 命令  Redis 列表(List) Redis Rpush 命令用于将一个或多个值插入到列表的尾部(最右边). 如果列表不存在,一个空列表会被创建并执行 RPUSH 操作. ...

  9. Redis .NET操作

    Redis是一个支持数据结构更多的键值对数据库.它的值不仅可以是字符串等基本数据类型,也可以是类对象,更可以是Set.List.计数器等高级的数据结构. Memcached也可以保存类似于Set.Li ...

随机推荐

  1. Linux-用户及权限

    1. 用户组 RHEL 7/CentOS 7系统中的用户组有如下3类: 超级用户,UID 0:系统的超级用户. 系统用户,UID 1-999:系统中系统服务由不同用户运行,更加安全,默认被限制不能登录 ...

  2. [ASE][Daily Scrum]11.12

    这几天Jiafan同学回学校去了,服务器的问题暂时未解决.继续搭建服务器中: View Shilin Liu 修复tank的错位问题 产生残缺地图         Client Jiafan Zhu( ...

  3. windows下安装ubuntu

    在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已 ...

  4. asp.net core sdk & runtime 镜像[已更新至2.2.0]

    在官方镜像的脚本上, 增加了System.Drawing相关的依赖库 以北京时间为默认的时间 2.2.0 Windows SDK地址: 官方: https://dotnetcli.blob.core. ...

  5. Docker Register部署与基本认证

    准备 基本事项 Docker环境 登录授权方式 镜像存放地址 HTTPS外网访问 启动Docker Registry 1. 基本事项 本篇涉及到的数据文件都放在/data目录下, 其中会有三个子目录 ...

  6. 彻底卸载Oracle database 12c教程

    1.WIN+R,然后输入regedit,回车:2.在注册表中,进入目录:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除所有以oracl ...

  7. C#: 以管理员权限运行包含有cd命令的.bat文件

    最近在做项目的时候遇到一种情:用C#程序以管理员权限去执行一个bat文件,且此bat文件里面有cd命令来进入文件的下一级目录,比如: echo test begin cd test1 setup1.e ...

  8. 关于Winform下DataGridView中实现checkbox全选反选、同步列表项的处理

    近期接手一个winform 项目,虽然之前有.net 的经验,但是对一些控件的用法还不是很熟悉. 这段时间将会记录一些在工作中遇到的坎坷以及对应的解决办法,写出来与大家分享并希望大神提出更好解决方法来 ...

  9. Webapi文件上传

    1/  multipart/form-data方式 using Abp.UI; using Abp.Web.Models; using System; using System.Collections ...

  10. select2插件使用小记

    插件官网:https://select2.github.io/examples.html 页面引入: // 页面顶部 <link rel="stylesheet" type= ...