Redis学习篇(四)之List类型及其操作
Redis的List是一个双向链表
LPUSH
作用:向列表左端添加元素
语法:LPUSH key value value...
从左到右逐个添加到左端,前面的先添加, 可以一次添加多个元素
RPUSH
作用:向列表右端添加元素
语法:RPUSH key value, value...
LPUSHX
作用: 向列表左端添加元素,只有key存在才可以添加
语法:LPUSH key value
一次只能添加一个元素
RPUSHX
作用: 向列表右端添加元素,只有key存在才可以添加
语法:RPUSH key value
一次只能添加一个元素
LPOP
作用:将列表左端的元素弹出
语法:LPOP key
RPOP
作用: 将列表右端的元素弹出
语法: RPOP key
不存在就nil
LLEN
作用:获得列表的长度
语法:LLEN key
不存在就返回0
LRANGE
作用: 获取列表片段
语法: LRANGE key start stop
包含最后的索引值
如果start比列表的长度还大,则返回空
LREM
作用:删除指定的值
语法: LREM key count value
count值由以下几类型:
count>0: 从列表的头部开始,向尾部搜索,移除与value相等的count个元素
count<0: 从列表的尾部开始,向头部搜索,移除与value相等的count个元素
count=0: 移除列表中全部的与count相等的值
LINDEX
作用:获得指定索引元素的值
语法: LINDEX key index
LSET
作用:设置指定索引的值
语法:LSET key index value
LTRIM
作用:只保留列表的片段
语法:LTRIM key start stop
当start大于列表长度,则被清空
LINSERT
作用:向列表插入元素
语法:LINSERT key BEFORE|AFTER pivot value
LINSERT key BEFORE a hello
向key这个列表中,a之前插入一个元素hello
成功返回列表的长度
如果a不存在,则返回-1
对空列表不可用,返回0
RPOPLPUSH
作用: 弹出右边元素,添加到左边,是一个原子操作, 返回弹出的元素
语法: RPOPLPUSH source destination
可以是同一个列表
source不存在时,返回nil
BLPOP
作用:BLPOP是LPOP的阻塞版本,将第一个不为空的列表弹出
语法:BLPOP key [key...] timeout
timeout为0表示无限期等待
如果列表为空,则会在timeout时间之内一直等待, 当列表被添加之后,会弹出此列表,返回阻塞时间
支持多客户端操作
Redis学习篇(四)之List类型及其操作的更多相关文章
- redis 学习(6)-- 集合类型
redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 s ...
- redis 学习(5)-- 列表类型
redis 学习(5)-- 列表类型 列表特点 有序.可以重复.左右两边插入弹出 索引相关知识 索引从左往右,从0开始逐个增大 0 1 2 3 4 5 索引从右往左,从-1开始逐个减小 -6 -5 - ...
- redis 学习(3)-- String 类型
redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...
- redis学习教程四《管理、备份、客户端连接》
redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITE ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- spring 学习(四): spring 的 jdbcTemplate 操作
spring 学习(四): spring 的 jdbcTemplate 操作 spring 针对 javaee 的每一层,都提供了相应的解决技术,jdbcTemplate 的主要操作在 dao 层. ...
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- redis数据类型(四)list类型
一.list类型 list是一个链表结构,可以理解为一个每个子元素都是 string 类型的双向链表. 主要功能是push.pop.获取一个范围的所有值等. 操作中key理解为链表的名字. 二.Lis ...
随机推荐
- js中字符串和json数组的相互转换
//示例 var a={"name":"tom","sex":"男","age":"24& ...
- Java并发编程学习路线
一年前由于工作需要从微软技术栈入坑Java,并陆陆续续做了一个Java后台项目,目前在搞Scala+Java混合的后台开发,一直觉得并发编程是所有后台工程师的基本功,所以也学习了小一年Java的并发工 ...
- 微信小程序导航设置
"tabBar": { "backgroundColor": "#ffffff", "color": "#00 ...
- [003] largest_subarray_with_equal_1&0
[Description] Given an array with only '1' and '0', find a largest length sub-array which contains e ...
- linux 内核信号量
Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干. 信号量在创建时需要设置一个 ...
- for 、forEach 、 forof、 forin遍历对比
一.遍历内容的异同 1.for 和 for...in 是针对数组下标的遍历 2.forEach 及 for...of 遍历的是数组中的元素 二.对非数字下标的处理 由于array在js中也是对象中的一 ...
- 大数据系列之分布式数据库HBase-0.9.8安装及增删改查实践
若查看HBase-1.2.4版本内容及demo代码详见 大数据系列之分布式数据库HBase-1.2.4+Zookeeper 安装及增删改查实践 1. 环境准备: 1.需要在Hadoop启动正常情况下安 ...
- angular项目中使用ngSemantic
npm install ng-semantic --save npm install jquery --save 下载 Official Semantic UI bundle ( .zip ) fro ...
- 常用的Oracle的doc命令
常用的Oracle的doc命令 1.连接数据库 普通用户连接数据库: conn scott/tiger --(默认的用户名/密码).conn 即"connection"连接数据库的 ...
- 网页转图片,html生成图片,网页生成图片(基于linnux+phantomjs)和wkhtmltoimage
安装扩展: (1)下面是我在linux上的安装过程,如果没有安装git请先yum install git 安装casperjs cd / git clone git://githu ...