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. 【BZOJ 4169】 4169: Lmc的游戏 (树形DP)

    4169: Lmc的游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 44  Solved: 25 Description RHL有一天看到lmc在 ...

  2. 「UOJ207」共价大爷游长沙

    「UOJ207」共价大爷游长沙 解题思路 : 快速判断两个集合是否完全相等可以随机点权 \(\text{xor}\) 的思路可以用到这道题上面,给每一条路径随机一个点权,维护出经过每一条边的点权的 \ ...

  3. CodeForces - 1017D The Wu

    题面在这里! 比较显而易见的暴力,O(2^(2n) + 2^n * 100) 就可以直接做了 #include<bits/stdc++.h> #define ll long long us ...

  4. php上传中文文件文件名乱码问题

    php上传文件是最最基础的一个技术点,但是深入进去也有不少问题需要解决,这不,上传中文文件后,文件名变成了乱码. 下面是问题代码,很简单: 1.问题代码 html部分: <html> &l ...

  5. Codeforces Round #346 (Div. 2) A. Round House 水题

    A. Round House 题目连接: http://www.codeforces.com/contest/659/problem/A Description Vasya lives in a ro ...

  6. ExtJs2.0学习系列(12)--Ext.TreePanel之第一式

    今天开始,我们就开始一起学习TreePanel了,道个歉,上篇的代码很乱阿. 我总是喜欢用最简单的例子开始,去理解最基本的使用方法,减少对i后面高级使用的干扰! TreePanel是继承自Panel, ...

  7. 破解ZendStudio 10.1

    破解文件的网盘地址: http://pan.baidu.com/share/link?shareid=3562282358&uk=1543766223  

  8. 使用 VS2012 开发 IDA GUI 插件 WIN32 SDK 和 内置函数 AskUsingForm_c

    1. 执行菜单的File->New->Project… (Ctrl-Shift-N)打开新建工程窗口. 2. 展开左侧的Visual C++项目模板分支,然后选择右侧的Win32 Proj ...

  9. Spring 如何读取properties文件内容

    http://hi.baidu.com/alizv/blog/item/d8cb2af4094662dbf3d38539.html 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置 ...

  10. shell练习题

    一.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. 原文代码为:         Shell   1 2 3 4 5 6 7 8 9 10 #!/bin/bash ...