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基本数据结构-列表的更多相关文章

  1. redis底层数据结构之快速列表(quicklist)

    快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...

  2. Redis基本数据结构总结之STRING和LIST

    Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...

  3. Redis基本数据结构总结之SET、ZSET和HASH

    Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...

  4. 聊一聊Redis的数据结构

    如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...

  5. 高可用Redis(四):列表,集合与有序集合

    1.列表类型 1.1 列表数据结构 左边为key,是字符串类型 右边为value,是一个有序的队列,与python的列表结构相同 可以在Redis中对列表的value进行如下操作 从左边添加元素 从右 ...

  6. Redis学习——数据结构介绍(四)

    一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...

  7. Redis常用数据结构

    Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...

  8. Redis的数据结构、通用操作及其特性

    Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...

  9. Redis学习笔记之Redis基本数据结构

    Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...

  10. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘

    Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...

随机推荐

  1. 【iOS逆向与安全】iOS远程大师:通过H5后台远程查看和协助iPhone设备

    前言 在移动设备测试和远程协助的过程中,能够远程查看和协助iPhone设备是一项非常实用的功能.为了解决这一需求,我开发了一款名为iOS远程大师的产品,允许用户通过H5后台界面查看和协助越狱或非越狱的 ...

  2. 用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果. 1 应用场景 OA办公中,经常要在文档的指定位置表格,填充后端指定数据. 如word文档中,表格数据 如下表 ...

  3. windows上安装mysql-5.6.44-winx64

    配置MySQL配置文件my.ini.datadir一般和安装目录是分开存放的 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 ---这里输入你安装的文件路径- ...

  4. linux 下对zip,rar,tar,tar.gz,tar.bz2,tar.xz,gzip,bzip2,xz文件的归档,压缩和解压缩

    目录 一.关于打包和压缩 二.linux对rar文件的压缩和解压缩 三.使用tar对文件进行归档,压缩,解压缩 3.1 tar对文件进行归档和解压 3.2 归档的添加和删除 3.3 tar对文件进行归 ...

  5. python之Faker库如果构造用户信息测试数据

    代码链接1:https://blog.csdn.net/qq_38484679/article/details/115244711 补充代码链接0:https://blog.csdn.net/weix ...

  6. [NOIP2001 提高组] 数的划分

    个人博客传送锚点:https://www.acwing.com/blog/content/55495/ 传送锚点:https://www.luogu.com.cn/problem/P1025 题目描述 ...

  7. Go 指针逃逸分析

    引用 https://my.oschina.net/renhc/blog/2222104

  8. WPF插件之 - PropertyChanged.Fody使用详解

    总目录文章目录总目录一.PropertyChanged.Fody是什么?二.PropertyChanged.Fody的安装三.PropertyChanged.Fody的功能1. 特性1 实现属性通知的 ...

  9. SQL必知必会(第5版) 读书笔记

    适用范围 本书涵盖的DBMS一般来说,本书中所讲授的SQL可以应用到任何数据库管理系统(DBMS).但是,各种SQL实现不尽相同,本书介绍的SQL主要适用于以下系统(需要时会给出特殊说明和注释): ❑ ...

  10. mongodb基于角色的访问控制

    https://www.mongodb.com/docs/v4.4/tutorial/enable-authentication/ https://www.mongodb.com/docs/manua ...