redis的list类型以及其操作
lists类型
给你个图;'

lists类型以及操作
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是每一个子元素都是String类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
操作:
lpush
从头部添加字符串元素
127.0.0.1:> lpush list1 one
(integer) //数字表示list的长度
127.0.0.1:> lpush list1 two
(integer)
127.0.0.1:> lrange list1 - // 0表示开始展示的元素所在的下标,1表示最后展示的元素所在位置的下标,最后就是-1.0在头的开始位置
) "two"
) "one"
127.0.0.1:> lpush list1 three four
(integer)
rpush
在key对应的list尾部添加字符串元素
127.0.0.1:> rpush list01 hello
(integer)
127.0.0.1:> rpush list01 world
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "world"
linsert
向key对应的list的指定元素前或后插入元素
127.0.0.1:> linsert list01 before "world" java
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "java"
) "world"
127.0.0.1:> linsert list01 after "world" "jiangxi"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "java"
) "world"
) "jiangxi"
lrange
查看指定下标范围的对应list中的值
127.0.0.1:> lrange list01 -
) "hello"
) "java"
) "world"
) "jiangxi"
127.0.0.1:> lrange list01
) "java"
) "world"
Lset
设置list中指定下标的值
127.0.0.1:> lset list01 "hi"
OK
127.0.0.1:> lrange list01 -
) "hi"
) "java"
) "world"
) "jiangxi"
127.0.0.1:>
lrem
从key对应的list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除)
127.0.0.1:> lpush list01 hello world hello world world hello hi my my hello hello
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
) "hello"
127.0.0.1:> lrem list01 "hello"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
) "hello"
127.0.0.1:> lrem list01 - "hello"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
127.0.0.1:> lrem list01 "hello"
(integer)
127.0.0.1:> lrange list01 -
) "my"
) "my"
) "hi"
) "world"
) "world"
) "world"
127.0.0.1:>
ltrim
保留指定key的值范围内的数据,其他的删除
127.0.0.1:> lrange list01 -
) "my"
) "my"
) "hi"
) "world"
) "world"
) "world"
127.0.0.1:> ltrim list01
OK
127.0.0.1:> lrange list01 -
) "my"
) "hi"
lpop
从list的头部删除元素,并返回删除元素
127.0.0.1:> lrange list01 -
) "my"
) "hi"
127.0.0.1:> lpop list01
"my"
127.0.0.1:> lrange list01 -
) "hi"
rpop
从list的尾部删除元素,并返回删除元素
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
127.0.0.1:> rpop list01
"is"
127.0.0.1:> lrange list01 -
) "my"
) "name"
127.0.0.1:>
rpoplpush
从第一个list的尾部移除元素并添加到第二个list的头部
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> lpush list02 i like java
(integer)
127.0.0.1:> lrange list02 -
) "java"
) "like"
) "i"
127.0.0.1:> rpoplpush list01 list02
"daxia"
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
) "guo"
127.0.0.1:> lrange list02 -
) "daxia"
) "java"
) "like"
) "i"
lindex
返回名称为key的list中index位置的元素
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> lindex list01
(nil)
127.0.0.1:> lindex list01
"daxia"
llen
返回key对应的list的长度
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> llen list01
(integer)
redis的list类型以及其操作的更多相关文章
- redis的Hash类型以及其操作
hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...
- redis的String类型以及其操作
Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作
一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...
- 第二百九十七节,python操作redis缓存-List类型,可以理解为列表
python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: lpush(name ...
- 第二百九十五节,python操作redis缓存-字符串类型
python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...
- 三:redis的List类型相关操作
</pre><pre name="code" class="php" style="font-size: 14px;"&g ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型
一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
随机推荐
- CSS Fonts(字体)
CSS Fonts(字体) 一.serif和sans-serif字体之间的区别 注意: 在计算机屏幕上,sans-serif字体被认为是比serif字体容易阅读. 二.CSS字型 在CSS中,有两种类 ...
- openssl 编译
不要费事编译了,直接下载吧! https://www.npcglib.org/~stathis/blog/precompiled-openssl/ 下载 openssl https://www.ope ...
- 项目总结--基于Cortex-A9平台的米兰花智能培育系统
基于Cortex-A9平台的米兰花智能培育系统 1. 系统功能概述 本系统主要实现了模拟米兰花智能培育的过程.通过前端传感器采集相关环境因子数据经ZigBee组网发送到协调器汇总,网关通过串口读取协调 ...
- 如何设置hyper-v下的ubuntu虚拟机分辨率
1.登陆ubuntu虚拟机 2.vi /etc/default/grub,改变如下内容: 改变前: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ...
- linux之磁盘配额(quota)使用方法(转)
1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途 ...
- js梳理
js引用类型 Object Function Array其他皆为基本类型,这和很多高级语言不一样,需要注意!!!! typeof对应基本类型来说更实用---- typeof undefined ...
- windows系统下简单node.js环境配置 安装
国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...
- 转 : JBoss Web和 Tomcat的区别
JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求.近年来,作为开源中间件的全 球领导者,JBoss在 ...
- SPSS t 检验
在针对连续变量的统计推断方法中,最常用的是 t 检验和方差分析两种. t 检验,又称 student t 检验,主要用于样本含量较小(例如n<30),总体标准差未知的正态分布资料.它是用 t 分 ...
- IO与NIO
IO IO概念: Java IO Java IO 即java的输入系统,不管我们编写任何种语言,都难免输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,还要考虑的因素特别多,比如我们要考 ...