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 ...
随机推荐
- python3_Logging模块详解
python的logging模块提供了通用的日志系统,可以方便第三方模块或应用使用. 简单使用 import logging # logging.config.fileConfig("./l ...
- 【DeepLearning学习笔记】Neurons神经元
今天找到一个比较好的deep learning的教材:Neural Networks and Deep Learning 对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=.= Percep ...
- Python3.x:Selenium中的webdriver进行页面元素定位
Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...
- WebAPI请求——js调用
继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用jQuery 来发起异步请求实现 ...
- 20145314郑凯杰《信息安全系统设计基础》第9周学习总结 PART B
20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核: ...
- Understanding and Creating OWIN Middlewares - Part 1
In my previous article, What is OWIN? A Beginners Guide we learned the basics of OWIN and the benefi ...
- Linux服务器上ftp的搭建和使用
知识点: 1. FTP的简介.工作原理 2.在Linux上搭建FTP服务器 参考: 阿里云文档:https://help.aliyun.com/knowledge_detail/60152.html ...
- 防止xss(脚本攻击)的方法之过滤器
一 什么是脚本注入 概念我就不说了 直接百度一份 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端 ...
- 09_MySQL DQL_SQL99标准中的多表查询(外连接)
# 二.外连接/* 场景:查询值在1个表中出现,在另外1个表中没有出现 特点: 0.也是两张表的字段拼接,分为主表和从表 1.外连接的结果,将显示主表中的所有记录行 如果连接字段在从表中有记录,则显示 ...
- pg按日,周,月进行数据统计
pg数据库按周,月统计数据 SELECT date_trunc('WEEK', insert_time) as insertDate, SUM(data_increment) as dataTotal ...