Redis列表是简单的字符串列表,依照插入顺序排序。

你能够加入一个元素到列表的头部(左边)或者尾部(右边)

LPUSH 命令插入一个新的元素到头部,

RPUSH插入一个新元素到尾部.

当一个这两个操作在一个空的Key上被运行的时候一个新的列表被创建。

相似的,假设链表中全部的元素均被移除。那么该键也将会被从数据库中删除。这是很方便的语义,由于他们被调用使用一个空列表全然就像他们被调用时使用一个不存在的键值(能够)做为參数。



一个列表最多能够包括 4294967295, 每一个列表超过40亿个元素。

从时间复杂度的角度来看 Redis 列表的主要特征是在头和尾的元素插入和删除是固定时间,即便是数以百万计的插入。. 在列表的两端訪问元素是很快的可是假设你试着訪问一个很大的列表的中间的元素是很慢的,由于那是一个O(N)操作。 



在一个社交网络中建立一个时间线模型。使用 LPUSH 去加入新的元素到用户的时间线。 使用 LRANGE 去接收一些近期插入的元素。

你能够将 LPUSH 和 LTRIM 一起用去创建一个永远也不会超过指定元素数目的列表,可是记住是最后的N个元素。

列表可以被用来作为消息传递primitive。

指令学习:

1)LPUSH的作用是将一个或多个值 value 插入到列表 key 的表头,运行成功时,返回列表长度

2)LSET能够将列表 key 下标为index的元素的值设置为 value
。列表 key 必须是已存在的。并且index不能超出列表长度范围。

3)LPOP命令运行时会移除列表第一个元素,并将其返回

4)获取列表元素,LINDEX命令,能够获取到指定位置的 value;下标 (index)为正数时,0表示第一个元素。1表示第二个元素。下标 能够是负数,以
-1 表示列表的最后一个元素。 -2 表示列表的倒数第二个元素。

5)LINSERT能够将值
value 插入到列表 key 其中,位于值 pivot 之前或之后。LINSERT
key BEFORE|AFTER pivot value

当 pivot 不存在于列表 key 时。不运行不论什么操作

6)移除列表元素使用LREM命令。依据參数 count 的值,移除列表中与參数 value 相等的元素

  • count > 0 : 从表头開始向表尾搜索,移除与 value 相等的元素,数量为 count 。
  • count < 0 : 从表尾開始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
  • count = 0 : 移除表中全部与 value 相等的值。

7)LLEN命令能够获取到列表的长度

8)LTRIM能够对一个列表进行修剪。让列表仅仅保留指定区间内的元素。不在指定区间之内的元素都将被删除

http://www.cnblogs.com/stephen-liu74/archive/2012/03/16/2351859.html

Redis数据类型--List的更多相关文章

  1. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  2. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  3. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  4. redis数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  5. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  6. Lua 数据类型和 Redis 数据类型之间转换

    当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...

  7. redis数据类型-散列类型

    Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...

  8. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  9. redis笔记总结之redis数据类型及常用命令

    三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...

  10. redis介绍、安装、redis持久化、redis数据类型

    1.redis介绍  2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...

随机推荐

  1. Java常用工具类之MD5加密

    package com.wazn.learn.util; import java.security.MessageDigest; /** * MD5加密工具类 * <功能详细描述> * * ...

  2. ZXing.Net.Mobile无法识别较大的条码

    ZXing.Net.Mobile无法识别较大的条码 在Xamarin项目中,使用ZXing.Net.Mobile实现条码扫描时,可能会出现无法顺利识别较大的条码,而可以正常识别较小的条码.这是由于ZX ...

  3. nyoj 311 dp 完全背包

    完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w. ...

  4. luoguP4457 [BJOI2018]治疗之雨 概率期望 + 高斯消元

    应该是最后一道紫色的概率了....然而颜色啥也代表不了.... 首先看懂题意: 你现在有$p$点体力,你的体力上限为$n$ 在一轮中, 1.如果你的体力没有满,你有$\frac{1}{m + 1}$的 ...

  5. [CC-ANUCBC]Cards, bags and coins

    [CC-ANUCBC]Cards, bags and coins 题目大意: 给你\(n(n\le10^5)\)个数,\(q(q\le30)\)次询问,问从中选取若干个数使得这些数之和为\(m(m\l ...

  6. 【矩阵快速幂优化DP】【校内测试】

    实际上是水水题叻,先把朴素DP方程写出来,发现$dp[i]$实际上是$dp[i-k]-dp[i-1]$的和,而看数据范围,我们实际上是要快速地求得这段的和,突然就意识到是矩阵快速幂叻. 构建矩阵什么的 ...

  7. bzoj 4780: [Usaco2017 Open]Modern Art 2

    4780: [Usaco2017 Open]Modern Art 2 Time Limit: 10 Sec  Memory Limit: 128 MB Description Having becom ...

  8. [转]Android网格视图(GridView)

    GridView的一些属性: 1.android:numColumns=”auto_fit”   //GridView的列数设置为自动,也可以设置成2.3.4…… 2.android:columnWi ...

  9. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) A. Little Artem and Presents 水题

    A. Little Artem and Presents 题目连接: http://www.codeforces.com/contest/669/problem/A Description Littl ...

  10. Map中keySet和entrySet的区别

    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...