Redis 笔记(三)—— LIST 常用命令
常用命令
| 命令 | 用例和描述 |
|---|---|
| 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 常用命令的更多相关文章
- laravel5.8笔记三:常用命令
创建控制器 php artisan make:controller Index/IndexController 创建模型 php artisan make:model Index/IndexContr ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- go的三个常用命令go run go build go install
go的三个常用命令 go run go build go install 命令源码文件:含有 main函数 的文件 库源码文件:不包含 main函数 的文件, 主要用于编译成静态文件.a供其他包调用 ...
- 解析Redis操作五大数据类型常用命令
摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...
- Redis学习笔记(三)常用命令整理
Redis 常用命令 1.DEL key 删除key2.EXISTS key 检查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 设置key的过期时间5.TT ...
- Redis学习之路(三)常用命令总结
一.集群 查看Redis集群有多少个库 192.168.200.100:7001> config get databases 1) "databases" 2) " ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- redis的安装和常用命令
一.redis的安装 1.windows安装redis 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这 ...
随机推荐
- form里面文件上传并预览
其实form里面是不能嵌套form的,如果form里面有图片上传和其他input框,我们希望上传图片并预览图片,然后将其他input框填写完毕,再提交整个表单的话,有两种方式! 方式一:点击上传按钮的 ...
- Git使用ssh公钥
Git使用ssh公钥 一. 何谓公钥 1.很多服务器都是需要认证的,ssh认证是其中的一种.在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器就不用每次都输入用户名和密码了. 2.很多gi ...
- Chrome调试工具常用功能
一.打开的快捷键 windows: ctrl + shift + i/F12 1.Elements 1.选中 元素 切换至 Event… Tab可以查看这个元素绑定的事件 2.在 Element 选项 ...
- 树链剖分与倍增求LCA
树链剖分与倍增求\(LCA\) 首先我要吐槽机房的辣基供电情况,我之前写了一上午,马上就要完成的时候突然停电,然后\(GG\)成了送链剖分 其次,我没歧视\(tarjan LCA\) 1.倍增求\(L ...
- (转)浅析epoll – epoll例子以及分析
原文地址:http://www.cppfans.org/1419.html 浅析epoll – epoll例子以及分析 上篇我们讲到epoll的函数和性能.这一篇用用这些个函数,给出一个最简单的epo ...
- forEach 循环数组 # for in 循环对象 key # for of 循环对象 value
forEach 循环数组 # for in 循环对象 key # for of 循环对象 value
- 同网页的WebRTC实现与源码分析
基本按照Real time communication with WebRTC搭建(下面简称该网站为官方tutorial) 本文重视WebRTC的基于同页面通信的代码实现,主要讲述顺序是WebRTC的 ...
- 039.集群网络-Pod和SVC网络实践
一 Pod和SVC网络 1.1 实践准备及原理 Docker实现了不同的网络模式,Kubernetes也以一种不同的方式来解决这些网络模式的挑战.本完整实验深入剖析Kubernetes在网络层是如何实 ...
- Fluent算例精选|02瞬态滑移网格分析叶轮机械内部流动
本算例使用的软件:fluent.icem 通过学习本算例您将获得? 1.学会周期区域创建 2.学会瞬态求解器及滑移网格边界条件设置 3.学会周期面.滑移面设置 4.学会如何监测压力脉动(声学仿真) 5 ...
- JavaScript(7)--- 继承
JavaScript(7)--- 继承 概念 首先继承是一种关系,类(class)与类之间的关系,JS中没有类,但是可以通过构造函数模拟类,然后通过原型来实现继承,继承也是为了数据共享. 之间有讲过j ...