redis数据类型(四)list类型
一、list类型
list是一个链表结构,可以理解为一个每个子元素都是 string 类型的双向链表。
主要功能是push、pop、获取一个范围的所有值等。
操作中key理解为链表的名字。
二、List类型数据操作指令简介
- lpush key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。

- rpush key string 在key对应list的尾部添加字符串元素,返回LIST容器最新的长度。

- llen key 返回key对应list的长度,如果key不存在返回0,如果key对应类型不是list 返回错误。

- lrange key start end 返回指定区间内的元素,下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表。

- ltrim key start end 截取list指定区间内元素,成功返回1,key不存在返回错误。


- lset key index value 设置list中指定下标的元素值,成功返回1,key或者下标不存在返回错误。

- lrem key count value 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。count为0时候删除全部。

- lpop key 从list的头部删除并返回删除元素。如果key对应list不存在或者是空返回nil,如果key对应值不是list返回错误。

- rpop key 从list的尾部删除并返回删除元素。

- blpop key1 ...... keyN timeout 从左到右扫描,返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3 0 ,如果list不存在list2,list3都是非空则对list2做 lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout 秒,timeout为0表示一直阻塞。当阻塞时,如果有client对key1...keyN中的任意key 进行push操作,则第一在这个key上被阻塞的client会立即返回。如果超时发生,则返回 nil。有点像unix的select或者poll。

- brpop key1 ...... keyN timeout 同blpop,一个是从头部删除一个是从尾部删除。

- lpushx key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。

- rpushx key string 在key对应list的尾部添加字符串元素。

- lindex key index 根据索引值返回指定KEY LIST中的元素。0为第一个元素,1为第二个元素。-1为倒数第一个元素,-2为倒数第二个元素。如果指定了一个不存在的索引值,则返回FLASE。

- linsert 在指定LIST中的指定中枢VALUE的左侧或者右侧插入VALUE。如果这个LIST不存在,或者这个pivot(key position)不存在,那么这个VALUE不会被插入。

- rpoplpush 从源LIST的最后弹出一个元素,并且把这个元素从目标LIST的顶部(左侧)压入目标LIST。

- brpoplpush &emsop;从源LIST的最后弹出一个元素,并且把这个元素从目标LIST的顶部(左侧)压入目标LIST。

redis数据类型(四)list类型的更多相关文章
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- 四、redis数据类型
四.redis数据类型 redis可以理解成一个全局的大字典,key就是数据的唯一标识符.根据key对应的值不同,可以划分成5个基本数据类型. 1. string类型: 字符串类型,是 Redis 中 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- Redis系列四:redis支持的数据类型
一.字符串<String> 1. 字符串类型:实际上可以是字符串(包括XML JSON),还有数字(整形 浮点数),二进制(图片 音频 视频),最大不能超过512MB 2. 设值命令: s ...
- Redis数据类型之散列类型hash
在redis中用的最多的就是hash和string类型. 问题 假设有User对象以JSON序列化的形式存储到redis中, User对象有id.username.password.age.name等 ...
- Redis数据类型:五大基本数据类型及三种特殊类型
String (字符串类型) String是redis最基本的类型,你可以理解成Memcached一模一样的类型,一个key对应一个value. String类型是二进制安全的,意思是redis的st ...
- Redis教程(四):Hashes数据类型
转自:http://www.jb51.net/article/65240.htm 一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器 ...
- Redis学习笔记(三)-数据类型之string类型
string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象.从内部实现来看其实string可以看作byte ...
- Redis数据类型之字符串String
String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key 设置键值和获取值 ...
随机推荐
- python 中为什么不需要重载
函数重载主要是为了解决两个问题. (1)可变参数类型. (2) 可变参数个数. 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两 ...
- .Net 使用HighCharts 导入图片到Excel
需求:数据统计报表使用到HighCharts显示各种图形:柱状图,饼图,点阵图等等,需要将数据表以及对应的图像导入到Excel中,方便打印. 解决方法: Excel导出采用NPOI,HighChart ...
- 虚拟化 - VMware
和VirtualBox一样,也需要关掉Hyper-V才能启动虚拟机,否则会报Guard的错误. 网络 [转]VMware网络连接模式-桥接.NAT以及仅主机模式的详细介绍和区别 桥接 就好像在局域网中 ...
- 简述System.Windows.Forms.Timer 与System.Timers.Timer用法区别
System.Windows.Forms.Timer 基于窗体应用程序 阻塞同步 单线程 timer中处理时间较长则导致定时误差极大. System.Timers.Timer 基于服务 非阻塞异步 多 ...
- Lock 与Monitor 的用法与区别
1.lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能 2.Monitor有TryEnter的功能,可以防止出现死锁的问题,lock没有. 3.Monitor.E ...
- telnet 工具
关于 telnet 命令 telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标 ...
- iphone 自学常用网址
https://www.gitbook.com/book/numbbbbb/-the-swift-programming-language-/details https://github.com/ip ...
- Tomcat和Mysql部署成Windows服务
如题: Tomcat部署进入到Tomcat的bin目录,执行命令:service.bat install [service_name]安装完毕后服务中能看见Apache Tomcat 7.0 [se ...
- 钩子编程(HOOK) 屏蔽全部按键、鼠标及系统功能键 (4)
摘要:上篇文章<钩子编程(HOOK) 安装系统全局钩子>已经具体的解说了全局钩子的安装.本文将增强一下钩子的功能.实现屏蔽全部按键鼠标与系统功能键.要实现这个功能.须要安装两个全局钩子,& ...
- Eclipse中的创建maven项目,无法添加src/main/java等source folder
maven无法添加src/main/java 通过Eclipse创建Java Web项目,目录结构如下: 默认是只有src/main/resources 这个source folder 按照maven ...