redis基本数据结构-列表
redis基本数据结构-列表list
- 特性
- 每个列表键最多存储 2^32 - 1个字符串元素
- 元素在列表中有序
- 元素在列表中不唯一
- 向列表左侧添加元素
lpush key value
lpush number 1 lpush number 2
number = [2, 1]
- 向列表右侧添加元素
rpush key value
rpush number 3 rpush number 4 rpush number 5
number = [2, 1, 3, 4, 5]
- 从列表左侧弹出元素
lpop key
lpop number
返回2, number = [1, 3, 4, 5]
- 从列表右侧弹出元素
rpop key
rpop number
返回5, number = [1, 3, 4]
- 获取列表中元素个数
llen key
llen number
返回3, number = [1, 3, 4]
- 获取列表片段(切片)
lrange key startIndex endIndex
lrange number 0 1
返回1, 3
lrange number 0 -1
返回1, 3, 4
说明: [startIndex, endIndex] 为闭区间, 负数index指示从后往前的index,最后一个为-1
- 删除列表中的前count个元素中置为value的元素
lren key count value
lpush number 3
number = [3, 1, 3, 4]
lrem number 3 3 // 删除前3个元素中值为3的元素
lrem number 3 3
返回2(实际删除个数)
number = [1, 4]
- 获取指定位置的元素值
lindex key index
lpush number 2
number = [2, 1, 4]
lindex number 0 === 2
lindex number 1 === 1
lindex number 2 === lindex number -1 === 4
- 设置指定位置的元素值
lset key index value
lset number 0 hello
number = [hello, 1, 4]
- 删除置顶范围以外的元素
ltrim key startIndex endIndex
说明: [startIndex, endIndex] 为闭区间
ltrim number 0 1
number = [hello, 1]
- 向列表中指定元素值前/后插入元素(是在从左侧开始第一个该指定值出现的位置前/后)
linsert key BEFORE/AFTER pivot value
lpush number 1
number = [1, hello, 1]
linsert number before 1 2
number = [2, 1, hello, 1]
linsert number after 1 3
number = [2, 1, 3, hello, 1]
- 将一个列表移动到另一个列表(每次只移动一个元素)
rpoplpush key1 key2
number = [2, 1, 3, hello, 1]
rpoplpush number number2
number = [2, 1, 3, hello]
number2 = [1]
rpoplpush number number2
number = [2, 1, 3]
number2 = [hello, 1]
redis基本数据结构-列表的更多相关文章
- redis底层数据结构之快速列表(quicklist)
快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- 聊一聊Redis的数据结构
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
- 高可用Redis(四):列表,集合与有序集合
1.列表类型 1.1 列表数据结构 左边为key,是字符串类型 右边为value,是一个有序的队列,与python的列表结构相同 可以在Redis中对列表的value进行如下操作 从左边添加元素 从右 ...
- Redis学习——数据结构介绍(四)
一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...
- Redis常用数据结构
Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...
- Redis的数据结构、通用操作及其特性
Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...
- Redis学习笔记之Redis基本数据结构
Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
随机推荐
- Java生成微信小程序码
官网文档地址:获取小程序码 package test; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.cor ...
- VS Code 代码片段编写教程
VS Code 代码片段编写教程 最近要做一个vs code的代码片段插件,于是搜索和学习相关内容,整理分享给大家! [!TIP] 本篇博客50%+内容由BingChat提供,然后作者对内容进行验证和 ...
- MPI学习笔记(四):矩阵相乘的Cannon卡农算法
mpi矩阵乘法:C=αAB+βC 一.Cannon卡农算法基本介绍 1.二维矩阵串行乘法 两个n维方阵的乘法A×B=C的串行计算公式为: 下图是用图示来表示的这种计算规则: 2.二维块划分的思想 并行 ...
- TS码流解析(二)PSI PAT PMT
TS码流有PSI和PES两种负载,这一节主要来了解PSI是如何解析的. 1.PSI PSI(Program Specific Information)节目专用信息,用来描述TS码流的节目组成等信息.P ...
- Java遍历Map集合的方法
Java中遍历Map集合的常用方式主要有以下几种: 1.使用keySet()方法遍历 遍历Map的key集合,然后通过key获取value. Map<String, Integer> ma ...
- 【译】使用 .NET Aspire 和 Visual Studio 开发云原生应用
我们很高兴地向大家介绍 .NET Aspire,它旨在简化 .NET 云原生应用程序的构建和管理方式..NET Aspire 为像您这样的开发人员提供了一个改进的.有主见的框架,用于构建分布式应用程序 ...
- 【Java编程教程】详解Java 中的对象和类
在本页中,我们将了解 Java 对象和类.在面向对象的编程技术中,我们使用对象和类来设计程序. Java中的对象既是物理实体又是逻辑实体,而Java中的类只是逻辑实体. 什么是Java中的对象 具有状 ...
- Java 集合的概念
目录 集合 单列集合(Collection) Collection中的一些方法 public static < T > boolean addAll(Collection<? sup ...
- jquery浏览器的上卷高度 节点的创建和写入 节点的删除
// js 的兼容语法 // let scrollT = document.documentElement.scrollTop || document.body.scrollTop; ...
- SCOI 回旋退役记
02.21 day -2 开始写了,期望这不是真的退役记吧.但是不是的概率好小-- 这几天一直考试,怎么说呢,到差不差的,也就那个样子. 归根结底,菜是原罪,和那些大佬相比我真的很很很菜啊.当时看 c ...