Redis数据类型--List
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的更多相关文章
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- redis数据类型及使用场景
Redis数据类型 String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令: set,get,decr,incr,mge ...
- Redis数据类型介绍
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- redis数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis-cluster集群【第一篇】:redis安装及redis数据类型
Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
- redis介绍、安装、redis持久化、redis数据类型
1.redis介绍 2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...
随机推荐
- java 数组冒泡排序、转置(降序)
1.java 数组冒泡排序 排序的基本原理(升序): 原始数据: 2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1 .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...
- 分布式锁的理解,java自带的锁为什么会失效
前段时间在发送短信的代码块上通过网上找的工具类基于Redis实现了分布式锁的功能 对应的链接https://www.cnblogs.com/c-h-y/p/9391602.html 周末想细细看一下. ...
- React Native 系列(六)
前言 本系列是基于React Native版本号0.44.3写的.在我们之前的通过props实现组件间传值的时候,大家有没有发现在父组件传递值过去,在子控件获取props的时候没有提示,那么如何能实现 ...
- cf 633B A trivial problem
Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an i ...
- springmvc+hibernate4事务管理配置
1.事务的特性 事务的四种特性: 原子性:体现一个事务的操作的不可分割,要么权执行,要么全不执行. 一致性:事务的执行结果必须从一种一致性状态变到另一种一致性状态.最典型的就是转账,两个账户A.B总金 ...
- luoguoj 1598 垂直柱状图 模拟
P1598 垂直柱状图 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=1598 ...
- PAT甲级1045. Favorite Color Stripe
PAT甲级1045. Favorite Color Stripe 题意: 伊娃正在试图让自己的颜色条纹从一个给定的.她希望通过剪掉那些不必要的部分,将其余的部分缝合在一起,形成她最喜欢的颜色条纹,以保 ...
- Android中的数据存储(一):SharedPreferences 2017-05-24 10:35 64人阅读 评论(1) 收藏
SharedPreferences 这是本人(菜鸟)学习android数据存储时接触的有关SharedPreferences的知识以及本人自己写的一个简单地demo,为初学者学习和使用SharedPr ...
- C和指针
1.#if ... #endif 之间的程序段就可以有效地从程序中去除,不管中间有没有注释 2.环境:两种环境不比位于同一台机器上 1.翻译环境:源代码被转换为可执行的机器指令 2.执行环境 ...
- char *p 与char p[]
char *p=a和char*p=&a 前者p是一个指针变量后者p是一个char型变量 char *p = "123"; 为全局数组,放在常量区,而非普通数据段(静态存储区 ...