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类型以及其操作的更多相关文章

  1. redis的Hash类型以及其操作

    hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...

  2. redis的String类型以及其操作

    Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...

  3. 直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作

    一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...

  4. 第二百九十七节,python操作redis缓存-List类型,可以理解为列表

    python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: lpush(name ...

  5. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  6. 三:redis的List类型相关操作

    </pre><pre name="code" class="php" style="font-size: 14px;"&g ...

  7. 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型

    一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...

  8. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  9. [redis] redis 对string类型数据操作

    package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...

随机推荐

  1. Linux数据备份与恢复

    Linux数据备份及服务器重要数据类别分析 对 Linux 服务器来讲,当然最理想的就是把整块硬盘中的数据都备份,甚至连分区和文件系统都备份,这样如果硬盘损坏,那么我们可以直接把备份硬盘中的数据导入损 ...

  2. Python- discover()方法与执行顺序补充

    可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰 但通过addTest()添加.删除测试用例就变得非 ...

  3. CSS Table(表格)

    CSS Table(表格) 一.表格边框 border 指定CSS表格边框,使用border属性. 下面的例子指定了一个表格的Th和TD元素的黑色边框: table, th, td { border: ...

  4. CSS控制滚动条的样式

    到今天(2018年10月25日)为止, 这还是chrome上的一个实验性特性: ::-webkit-scrollbar{width:4px;height:4px;} ::-webkit-scrollb ...

  5. linux安装coreseek

    coreseek就是一个中文词库加上sphinx组合而成的. 1.下载coreseek 下载到/usr/local/src目录文件下 wget  http://www.coreseek.cn/uplo ...

  6. 纯js提交get和post请求

    get function get(URL, PARAMS) { var temp = document.createElement("form"); temp.method = & ...

  7. ubuntu 18. use gnome-tweaks

    <<install gnome-tweaks sudo apt-get install gnome-tweaks <<run gnome-tweaks >>pres ...

  8. Spring事物原理完全解析

    事务是什么?了解事务的原理吗?说下Spring的事务原理,能自己实现Spring事务原理吗?先自我检测下这些知识掌握了吗.那么接下来一起看下与Spring相关的事务 概念 事务具有ACID特性. 是指 ...

  9. Eclemma的安装

    和TestNG安装一致 Help -->Install New Software -->  Add Name: Eclemma Location:http://update.eclemma ...

  10. Docker 学习记录笔记(一)

    Docker 一些简单的命令列表docker build -t friendlyhello . # Create image using this directory's Dockerfiledock ...