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 位.这 ...
随机推荐
- 4000字干货长文!从校招和社招的角度说说如何准备Java后端大厂面试?
插个题外话,为了写好这篇文章内容,我自己前前后后花了一周的时间来总结完善,文章内容应该适用于每一个学习 Java 的朋友!我觉得这篇文章的很多东西也是我自己写给自己的,比如从大厂招聘要求中我们能看到哪 ...
- js 实现简单的导航下拉列表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- webpack学习(一):webpack的安装和命令行
本教程可以学习到如下内容: 1.webpack的安装 2.利用webpack命令打包js文件 3.如何在js文件里面引用css并将css文件在页面里面生效 4.学习webpack相关的高级的一些参数, ...
- java学习笔记(1)——有关接口
接口: interface intf0{ public void doSomething(); } interface intf1{ public void doAnything(); } class ...
- LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第23篇文章. 今天来看一道很有意思的题,它的难度是Hard,并且有许多种解法. 首先我们来看题面,说是我们有若 ...
- 金三银四,还在为spring源码发愁吗?bean生命周期,看了这篇就够了
第一,这绝对是一个面试高频题. 比第一还重要的第二,这绝对是一个让人爱恨交加的面试题.为什么这么说?我觉得可以从三个方面来说: 先说会不会.看过源码的人,这个不难:没看过源码的人,无论是学.硬背.还是 ...
- Head First设计模式——桥接模式
桥接模式 桥接模式:不只改变你的实现,也改变你的抽象. 如果有一个电视厂家,遥控器需要升级,电视也需要修改.这种变化部分的封装就适合使用桥接模式,桥接模式通过将实现和抽象放在两个不同的类层次中而使它们 ...
- MySQL:GROUP_CONCAT函数的使用
原文链接 GROUP_CONCAT功能 将某个字段的值拼接成字符串. 举例使用 先看一下原始数据表 执行下面sql语句 SELECT `cid`,GROUP_CONCAT(mid) AS `mids` ...
- Spring bean配置 入门
Spring 的入门案例:(IOC) IOC 的底层实现原理(结构图2.01) 图:2.01 IOC:Inversion of Control 控制反转,指的是对象的创建权反转(交给)给Spring ...
- Linux下Tomcat优化
/etc/profileexport JAVA_OPTS="-server -showversion -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:Ma ...