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. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
随机推荐
- anaconda3部署以及使用详解
Anaconda3-2019.10-Linux-x86_64.sh 某次执行Python程序,其中两个错误信息如下: ImportError: libcblas.so.3: cannot open s ...
- Git:国内用命令行访问GitHub的方法
1 直接改Hosts文件(现在不太管用了) 如果你是Linux或Mac系统,那么可以通过命令sudo vim /etc/hosts打开Hosts文件,并加入以下内容: 140.82.114.25 al ...
- linux各个目录详细说明
在linux中一切皆文件,每个目录均有自己特定的作用,下面进行详细说明. 目录 说明 / 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录.文件.设备都在 / 之下 /bi ...
- sentinel-dashboard.jar 安装
本文涉及的基本概念: 几种服务限流方式:熔断:拒绝流量访问,当系统恢复正常时在关闭熔断服务降级:将次要服务降级,停止服务,将系统资源释放出来给核心功能延迟处理:在前端设置一个流程缓冲池,将所有的流程全 ...
- HTML——input标签
很多表单元素都是由一个个的 input 元素组成的.它是自闭合标签,根据其 type 属性值的不同分为很多种,例如单行文本框.密码框.单选按钮.复选框.隐藏域.文件上传域.普通按钮.提交按钮以及重置按 ...
- RDP 端口转发 多窗口运行
需要设置本机的默认端口进行修改 优点:(1)部署简单.Windows自带,支持IPv4和IPv6(2)不用重启机器,还长记性.命令即时生效,重启系统后配置仍然存在.缺点:(1)不支持UDP(2)XP/ ...
- C语言——函数基本知识
什么是函数 函数的定义 函数就是程序中独立的功能.(简单来说就是把代码打包成整体,起个名字,方便以后使用) 函数的使用 定义函数的格式 格式: 返回值类型 函数名(形参1,形参2,...) { 函数体 ...
- Python缺失值处理实现
在数据处理相关工作中,读取的数据中常常会有缺失值的情况,为顺利进行后续的操作,需要首先对缺失值进行处理,处理的方式一般为删除或填充,Python中提供了专门的工具包,可以方便地进行实现.读取操作可 ...
- sql数据的操作
/* 数据的写入 名称 : 库名 表名 字段名 用 反引号包裹 数据 : 字符串数据使用单引号包裹 ...
- C#.NET 循环字符串 V20231123
C#.NET 循环字符串 V20231123 public static bool IsIllegalOutTradeNo(string OutTradeNo) { foreach (char ite ...