常用命令

命令 用例和描述
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. 遍历Map的四种方式(Java)

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  2. 有关vue中用element ui 中的from表单提交json格式总是有冒号的问题解决办法

    因为后台要求要传递JSON格式的数据给他,然后我转了之后总是多了冒号,后来又看了自己的报错,原来是报了404错误,说明路径找不到, 数据格式 后来发现怎么都不行了,然后突然查看了报错报的是404,说明 ...

  3. nes 红白机模拟器 第4篇 linux 手柄驱动支持

    小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...

  4. CouchDB的简单使用

    一.安装CouchDB 到官网下载CouchDB,在windows下安装CouchDB较为简单,略过. 安装完后,确认CouchDB在运行,然后在浏览器访问http://127.0.0.1:5984/ ...

  5. python_字符串&列表&元组&字典之间转换学习

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #数据类型之间的转换 Str='www.baid ...

  6. (转)浅析epoll-为何多路复用I/O要使用epoll

    原文地址:http://www.cppfans.org/1417.html 浅析epoll-为何多路复用I/O要使用epoll 现如今,网络通讯中用epoll(linux)和IOCP(windows) ...

  7. 基于 HTML5 WebGL 与 GIS 的智慧机场大数据可视化分析

    前言:大数据,人工智能,工业物联网,5G 已经或者正在潜移默化地改变着我们的生活.在信息技术快速发展的时代,谁能抓住数据的核心,利用有效的方法对数据做数据挖掘和数据分析,从数据中发现趋势,谁就能做到精 ...

  8. 部署harbor以https模式和k8s对接

    集群时间同步 我们在之前的kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署篇已经实现了基于chrony的时间同步 [root@bs-k8s-master01 ...

  9. 我的Keras使用总结(3)——利用bottleneck features进行微调预训练模型VGG16

    Keras的预训练模型地址:https://github.com/fchollet/deep-learning-models/releases 一个稍微讲究一点的办法是,利用在大规模数据集上预训练好的 ...

  10. Go语言库系列之flag

    背景 终端(命令行)操作是程序员的必备技能,但是你知道怎么通过golang制作出如下命令吗? $ flag girl -h Usage of girl: -height int 身高 (default ...