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 ...
随机推荐
- JVM调优总结(2):基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数. ...
- Linux高级编程--02.gcc和动态库
在Linux环境下,我们通常用gcc将C代码编译成可执行文件,如下就是一个简单的例子: 小实验:hello.c #include <stdlib.h> #include <stdio ...
- asp.net mvc 站点优化
基于上篇:IIS网站日志分析 现象 服务端:IIS 日志, #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-u ...
- JavaScript:详解 Base64 编码和解码
Base64是最常用的编码之一,比如开发中用于传递参数.现代浏览器中的<img />标签直接通过Base64字符串来渲染图片以及用于邮件中等等.Base64编码在RFC2045中定义,它被 ...
- 《Troubleshooting SQL Server》读书笔记-CPU使用率过高(上)
第三章 High CPU Utilization. CPU使用率过高问题很容易被发现,但是诊断却不是很容易.CPU使用过高很多时候会成为其它问题的替罪羊,所以在确认和故障诊断时要抽丝剥茧. 调查CPU ...
- Price(洛谷P4109 [HEOI2015]定价)
题目 思路: 按照我的思路这一题应该是这样子的 剔除+判断 剔除 因为后面的0要越多越好,所以我们判断0出现的情况,当2个数之间的差大与10时,证明2个之间会存在一个0,所以这一位我们可以把它去掉,相 ...
- 基于Node的Web聊天室
1 项目名称 Web聊天室(<这是NodeJs实战>第二章的一个案例,把整个开发过程记录下来)
- 【Eclipse】Elipse自定义library库并导入项目
1.定义像JRE System Library之类的库 (1)点击UserLibrary (2)如果没有就点击new新建一个user library,否则进行4 (3)向user library添加 ...
- Where can I check in?
Where can I check in? 在哪儿办理登记手续?
- python自动开发之(算法)第二十七天
1.什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 2.复习:递归 递归的两个特点:(1) 调用自身 (2)结束条件 def func1(x): print(x) func1( ...