常用命令

命令 用例和描述
RPUSH RPUSH key value [value ...] —— 将一个或多个值推入列表的右端
LPUSH LPUSH key value [value ...] —— 将一个或多个值推入列表的左端
RPOP RPOP key —— 移除并返回列表最右端的元素
LPOP LPOP key —— 移除并返回列表最左端的元素
LINDEX LINDEX key offset —— 返回列表中偏移量为 offset 的元素
LRANGE LRANGE key start end —— 返回列表从 start 到 end 偏移量范围内的元素(包含 start, end)
LTRIM LTRIM key start end —— 对列表进行修剪,只保留从 start 到 end 的元素(包含 start, end)

例子 :

127.0.0.1:> rpush list-key last
(integer)
127.0.0.1:> lpush list-key first
(integer)
127.0.0.1:> rpush list-key "new last"
(integer)
127.0.0.1:> lrange list-key -
) "first"
) "last"
) "new last"
127.0.0.1:> lpop list-key
"first"
127.0.0.1:> lpop list-key
"last"
127.0.0.1:> lrange list-key -
) "new last"
127.0.0.1:> rpush list-key a b c
(integer)
127.0.0.1:> lrange list-key -
) "new last"
) "a"
) "b"
) "c"
127.0.0.1:> ltrim list-key -
OK
127.0.0.1:> lrange list-key -
) "b"
) "c"
 

阻塞式的列表弹出命令以及在列表之间移动元素的命令

命令 用例和描述
BLPOP BLPOP key [key ...] timeout —— 从第一个非空列表中弹出最左端的元素,或者在 timeout 秒之内阻塞并等待可弹出的元素出现
BRPOP BRPOP key [key ...] timeout —— 基本同 BLPOP,只是是从最右端弹出
RPOPLPUSH RPOPLPUSH source-key dest-key —— 从 source-key 列表中弹出最右端元素插入 dest-key 最左端,并返回此元素
BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout —— 从 source-key 列表弹出最右端的元素,插入到 dest-key 的最左端,并返回此元素,如果 source-key 为空,那么在 timeout 秒之内阻塞并等待可弹出的元素出现
例子:
127.0.0.1:> rpush list item1
(integer)
127.0.0.1:> rpush list item2
(integer)
127.0.0.1:> rpush list2 item3
(integer)
127.0.0.1:> brpoplpush list2 list
"item3"
127.0.0.1:> brpoplpush list2 list
(nil)
(.01s)
127.0.0.1:> lrange list -
) "item3"
) "item1"
) "item2"
127.0.0.1:> lrange list2 -
(empty list or set)
127.0.0.1:> brpoplpush list list2
"item2"
# BLPOP 会从左到右检查列表,并对最先遇到的非空列表执行弹出操作
127.0.0.1:> blpop list list2
) "list" # 弹出元素所属的列表
) "item3" # 弹出的元素
127.0.0.1:> blpop list list2
) "list"
) "item1"
127.0.0.1:> blpop list list2
) "list2"
) "item2"
127.0.0.1:> blpop list list2
(nil) # 结果
(.04s) # 等待时间
 

Redis 笔记(三)—— LIST 常用命令的更多相关文章

  1. laravel5.8笔记三:常用命令

    创建控制器 php artisan make:controller Index/IndexController 创建模型 php artisan make:model Index/IndexContr ...

  2. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  3. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  4. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  5. go的三个常用命令go run go build go install

    go的三个常用命令 go run go build go install 命令源码文件:含有 main函数 的文件 库源码文件:不包含 main函数 的文件, 主要用于编译成静态文件.a供其他包调用 ...

  6. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  7. Redis学习笔记(三)常用命令整理

    Redis 常用命令 1.DEL key 删除key2.EXISTS key 检查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 设置key的过期时间5.TT ...

  8. Redis学习之路(三)常用命令总结

    一.集群 查看Redis集群有多少个库 192.168.200.100:7001> config get databases 1) "databases" 2) " ...

  9. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  10. redis的安装和常用命令

    一.redis的安装 1.windows安装redis 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这 ...

随机推荐

  1. openwrt 上的 upnp wifi 音频推送 gmediarender

    首先是必须启用的模块 Libraries ---> <*> libupnp Sound ---> <*> alsa-utils<*> madplay-a ...

  2. 使用AtomicStampedReference<T>的大坑

    //在初始化的时候会把引用和时间戳存到pair中 AtomicStampedReference<Integer> integerAtomicStampedReference = new A ...

  3. Fortify Audit Workbench 笔记 Access Control: Database

    Abstract 如果没有适当的 access control,就会执行一个包含用户控制主键的 SQL 指令,从而允许攻击者访问未经授权的记录. Explanation Database access ...

  4. SpringBoot内置的各种Starter是怎样构建的?--SpringBoot源码(六)

    注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 温故而知新 本篇接 外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五) 温 ...

  5. 这些MongoDB的隐藏操作你真的都掌握了吗?反正我是刚知道

    背景 最近公司系统还原用户时偶尔会出现部分用户信息未还原成功的问题,最为开发人员,最头疼的不是代码存在bug,而是测试发现了bug,但一旦我去重现,它就不见了.Are you kidding me? ...

  6. 部署nginx后无法访问数据库,查看www-error.log日志报错Class 'mysqli' not found in /usr/local/nginx/html/mysql.php on line 2

    检查你的php-mysql包是否安装 [root@localhost nginx]# rpm -qa php-mysql 没有任何输出则没有安装,接下来用yum安装php-mysql yum -y i ...

  7. django 和 七牛云 交互

    django 和 七牛云 交互 七牛开发文档 安装 pip install qiniu 初始化 # access_key 个人中心的 ak # secret_key 个人中心的 sk from qin ...

  8. [译]ABP框架v2.3.0已经发布!

    在新冠病毒的日子里,我们发布了ABP框架v2.3, 这篇文章将说明本次发布新增内容和过去的两周我们做了什么. 关于新冠病毒和我们的团队 关于冠状病毒的状况我们很难过.在Volosoft的团队,我们有不 ...

  9. json 的基础入门

    JSON是什么: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.在初始的项目开发中人们更倾向于使用xml来进行数据的传输,但当JSON出现后,开发者更倾 ...

  10. Gitblit无法查看单个文件解决方案

    一个简单的解决方案是在reference.properties中设置: web.mountParameters = false 在这种情况下,您完全避免了该问题,因为项目名称,分支和文件名作为查询字符 ...