Redis命令行之List
一、Redis之List简介
1. List是简单的字符串列表,按照插入顺序排列。
2. 一个列表最多可存储232-1个元素(40多亿)。
二、Redis之List命令行操作
Lrange:获取列表指定区间中的元素。0表示列表第一个元素,-1表示最后一个元素,-2表示倒数第二个元素。所以获取列表所有元素命令为:lrang list_name 0 -1。
Lpush:将一个或多个值插入list头部。
Rpush:将一个或多个值插入list尾部。
若key不存在则先创建一个空列表,若key对应的值不是列表类型则报错。

Lpushx:将一个或多个值插入已存在的列表头部,列表不存在时操作无效。
Rpushx:将一个或多个值插入已存在的列表尾部,列表不存在时操作无效。

Lpop:移除并返回列表的第一个元素。
Rpop:移除并返回列表的最后一个元素。

Blpop:移除并获取列表的第一个元素。
Brpop:移除并获取列表的最后一个元素。
如果列表没有元素则会阻塞列表直到等待超时或发现可弹出元素为止。

可以发现,若是blpop或brpop命令指定的多个key中,存在key对应队列有元素则会马上弹出,并忽略不存在的key,否则会一直阻塞到超时或发现可弹出元素为止。(这里指定10秒超时)
Rpoplpush:移除列表中最后一个元素,将其插入另一个列表头部,并返回这个元素。
Brpoplpush:移除列表中最后一个元素,将其插入另一个列表头部,并返回这个元素。如果列表没有元素则会阻塞列表直到等待超时或发现可弹出元素为止。

Llen:返回列表长度。
Lindex:通过索引获取列表中的元素。
Lset:通过索引设置列表中元素的值。若是索引超出范围,或对一个空列表进行lset操作,则返回错误。

Linsert:在列表中指定元素前或后面插入元素。若指定元素不在列表中,或列表不存在时,不执行任何操作。

Lrem:根据参数count的值,移除列表中与参数value相等的元素。
count > 0 : 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
count < 0 : 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
count = 0 : 移除表中所有与value相等的值。

Ltrim:对一个列表进行修剪,只保留指定区间的元素,其他元素都删除。

Redis命令行之List的更多相关文章
- 二、Redis启动、停止、Redis命令行的操作
1.redis命令 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录 redis-server redis服务器 redis-cli ...
- redis命令行操作
打开shell,首先开启redis服务,在保证服务开启的情况下,打开客户端. 然后可以根据文档,进行命令行试验.
- redis 命令行查看修改配置文件项、配置文件说明
命令行查看修改配置文件项 config get | config set | config rewrite config get requirepass // 获取密码config set requi ...
- Redis命令行之Zset
一.Redis之Zset简介 1. 有序集合Zset是String类型的有序集合. 2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序 ...
- Redis命令行之Set
一.Redis之Set简介 1. Set是String类型的无序集合(元素成员唯一). 2. Set是通过hash表实现的,添加.删除.查找的复杂度都是O(1). 3. 每个集合最大成员数为232-1 ...
- Redis命令行之Hash
一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...
- Redis命令行之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...
- Redis 命令行工具能这样用你知道了吗?
我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...
- Redis - 命令行工具
使用Redis内置的命令行工具 redis-cli一些便捷的命令: 1.执行单条命令 平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况 ...
随机推荐
- react中的setState的使用和深入理解
前端框架从MVC过渡到MVVM.从DOM操作到数据驱动,一直在不断的进步着,提升着, angular中用的是watcher对象,vue是观察者模式,react就是state了,他们各有各的特点,没有好 ...
- java在线聊天项目0.7版 连接多个客户端问题,开启多个客户端后服务器端只接收到一个 对各种异常的补充处理
问题的原因是 while(connected) { String str=dis.readUTF(); System.out.println(str); } 不断循环执行,一直在死循环获取socket ...
- javascript基础知识 (八) BOM学习笔记
一.什么是BOM BOM(Browser Object Model)即浏览器对象模型. BOM提供了独立于内容 而与浏览器窗口进行交互的对象: 由于BOM主要用于管理窗口 ...
- 【动态规划】poj2353Ministry
拓扑序……好些玄妙 Description Mr. F. wants to get a document be signed by a minister. A minister signs a doc ...
- CSS3-弹性盒模型-FlexBox
Flex容器属性 display 定义一个Flex容器,根据其取的值来决定是内联还是块.Flex容器会为其内容建立新的伸缩格式化上下文. .container { display: flex; /* ...
- iOS设置UINavigationBar 的样式
为了方便演示,我用storyBoard建立了一个基本的导航栏 并在代码中获得了NavgationBar UINavigationBar *bar = self.navigationController ...
- Linux磁盘与文件系统管理 之 认识EXT2系统
1 磁盘组成与分区 1.1 磁盘物理组成 (1)圆形盘片-记录数据 (2)机械手臂及磁头-读写盘片数据 (3)主轴马达-使得机械手臂成功读写数据驱动 1.2 盘片物理组成 (1)扇区-最小物理存储单位 ...
- BZOJ 4557: [JLoi2016]侦察守卫
题目大意:每个点有一个放置守卫的代价,同时每个点放置守卫能覆盖到的距离都为d,问覆盖所有给定点的代价是多少. 题解: 树形DP f[x][y]表示x子树中所有点都已经覆盖完,并且x还能向上覆盖y层的最 ...
- 大数据学习——Storm集群搭建
安装storm之前要安装zookeeper 一.安装storm步骤 1.下载安装包 2.解压安装包 .tar.gz storm 3.修改配置文件 mv /root/apps/storm/conf/st ...
- div的显示隐藏方法汇总
JQuery DIV 动态隐藏和显示的方法 1. 如果在载入是隐藏: <head> <script language="javascript"> funct ...