Redis List列表的详细介绍

Redis List列表的详细介绍

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

实例

redis 127.0.0.1:6379> LPUSH runoobkey redis
(integer) 1
redis 127.0.0.1:6379> LPUSH runoobkey mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH runoobkey mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE runoobkey 0 10

1) "mysql"
2) "mongodb"
3) "redis"

在以上实例中我们使用了 LPUSH 将三个值插入了名为 runoobkey 的列表当中。

Redis 列表命令

以下列出了列表相关的基本命令:

1  BLPOP key1 [key2 ] timeout
  移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

2  BRPOP key1 [key2 ] timeout
  移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

3  BRPOPLPUSH source destination timeout
  从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

4  LINDEX key index
  通过索引获取列表中的元素

5  LINSERT key BEFORE|AFTER pivot value
  在列表的元素前或者后插入元素

6  LLEN key
  获取列表长度

7  LPOP key
  移出并获取列表的第一个元素

8  LPUSH key value1 [value2]
  将一个或多个值插入到列表头部

9  LPUSHX key value
  将一个值插入到已存在的列表头部

10 LRANGE key start stop
  获取列表指定范围内的元素

11 LREM key count value
  移除列表元素

12 LSET key index value
  通过索引设置列表元素的值

13 LTRIM key start stop
  对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

14 RPOP key
  移除并获取列表最后一个元素

15 RPOPLPUSH source destination
  移除列表的最后一个元素,并将该元素添加到另一个列表并返回

16 RPUSH key value1 [value2]
  在列表中添加一个或多个值

17 RPUSHX key value
  为已存在的列表添加值

以上就是Redis List列表详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-08-11

redis列表类型_动力节点Java学院整理

据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗,因为有了它我就不需要专门的MQ产品啦,比如说RabbitMQ,ActiveMQ等等...对吧. 一.实战 先我们还是看一下List列表给我们提供的方法. 这些方法还是稀里糊涂的有一些的,没关系,做队列使用的话,常用的也就四个:LPOP,LPUSH,RPOP,RPUSH,从这四个单词上面,你应该就明白这有点像数据结构中的"双端队列",对吧

Redis列表类型的常用命令小结

列表类型介绍 列表类型也是一个我们很长要用到的一个类型.比如我们发博客,要用到博客列表.如果没有列表我们就只能遍历键来获取所有文章或一部分文章了,这个语法是keys,但是这个命令需要遍历数据库中的所有键,处于性能方面的考虑,在生产环境是不推荐使用的. 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加.删除.获取元素,或者某个片段.在redis中,实际上是使用双向链表的方式实现的,所以在列表两端添加删除元素的时间复杂度是O(1),获取的元素越接近两端,速度越快.但是通过索引访问元素

详解redis数据结构之压缩列表

 详解redis数据结构之压缩列表 redis使用压缩列表作为列表键和哈希键的底层实现之一.当一个列表键只包含少量的列表项,并且每个列表项都是由小整数值或者是短字符串组成,那么redis就会使用压缩列表存储列表项:同理,当一个哈希表包含的键值对都是由小整数值或者是短字符串组成,并且存储的键值对数目不多时,redis也会使用压缩列表来存储哈希表.以下是压缩列表存储结构: zlbytes长度为4个字节,记录了整个压缩列表所占用的字节数 zltail长度为4个字节,记录了压缩列表起始位置到压缩列表尾节

详解redis数据结构之sds

详解redis数据结构之sds 字符串在redis中使用非常广泛,在redis中,所有的数据都保存在字典(Map)中,而字典的键就是字符串类型,并且对于很大一部分字典值数据也是又字符串组成的.以下是sds的具体存储结构: 从图中可以看出,sds的属性有三个:len.free和buf数组.这里len字段是用来保存sds字符串中所包含字符数目的,free字段则是用来保存buf数组中空余的部分的长度的,而buf数组则是实际用来保存字符串的.比如如下结构保存了"Hello World!"这个字

详解Linux中zip压缩和unzip解压缩命令及使用详解

下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 2.把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak 3.把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip zip -r abc123.zip abc 123.txt 4.把

详解Redis 数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如jpg图片或者序列化的对象. string 类型是 Redis 最基本的数据类型,string 类

详解Redis的慢查询日志

Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作.慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来. Redis客户端一条命令分为如下四部分执行: 需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题.需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题. 一.慢查询的配置参数: 慢查询的预设阀值 slow

详解Redis命令和键_动力节点Java学院整理

Redis命令用于在redis服务器上执行某些操作. 要在Redis服务器上运行的命令,需要一个Redis客户端. Redis客户端在Redis的包,这已经我们前面安装使用过了. 语法 Redis客户端的基本语法如下: $redis-cli 例子 下面举例说明如何使用Redis客户端. 要启动redis客户端,打开终端,输入命令Redis命令行:redis-cli.这将连接到本地服务器,现在就可以运行各种命令了. $redis-cli redis 127.0.0.1:6379> redis 12

详解redis在nodejs中的应用

redis是一个性能非常好的内存数据库,部署在应用程序和mysql数据中间做缓存数据库,可以极大的提升应用程序的性能,这里简单介绍nodejs客户端操作redis的demo程序 redis里面总共可以存储5种数据类型,分别是字符串,列表.集合.三列.有序集合:这里将会对这5种数据类型的增删查改一一处理: 1.redis在mac上的安装: https://redis.io/download,当前我用的版本稳定版本是4.0.9,解压之后,进入redis-4.0.9目录,执行make && su

详解python数据结构和算法

1.删除序列相同元素并保持顺序 如果仅仅就是想消除重复元素,通常可以简单的构造一个集合,利用集合之间元素互不相同的特性就可以消除重复,但是这种方法生成的结果中元素的位置会被打乱.下面是我们的解决方案: def dedupe(items, key=None): seen = set() for item in items: val = item if key is None else key(item) if val not in seen: yield item seen.add(val) 主要

详解linux下tar压缩解压缩文件夹的命令与参数

前言 tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,这篇文章仅仅列举常用的压缩与解压缩参数,下面直接先上三个常用命令,一起来看看吧 1.压缩当前目录下文件夹/文件test到test.tar.gz: tar -zcvf test.tar.gz test 2.解压缩当前目录下的file.tar.gz到file: tar -zxvf file.tar.gz 参数详解 五个命令中必选一个 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原

详解Vue demo实现商品列表的展示

Vue实现商品列表的展示是一个比较简单的入门demo,下面是具体的实现: 简单CSS样式: <style> #box ul{ display: flex; flex-wrap: wrap; } #box li{ padding: 3px; list-style: none; margin-right: 15px; border: 1px solid #eee; } #box img{ width: 200px; height: 150px; } </style> html: <