Redis底层学习(三)—存储类型-List篇

news2024/12/23 23:13:39

文章目录

  • 特点
    • 具体服务器操作命令
      • 具体操作
        • 应用场景

特点

适⽤场景:消息队列。
它的特点就是内部元素有序、重复,并且插⼊和删除很快 O(1) ,但是查找却很慢 O(n) 。功能⽀持队列和栈操作。

具体服务器操作命令

左侧插⼊元素: LPUSH [key] [value1] … [valueN]
右侧插⼊元素: RPUSH [key] [value1] … [valueN]
左侧弹出元素: LPOP [key]
右侧弹出元素: RPOP [key]
查看队列⻓度: LLEN [key]
查询列表中下标为index的元素值: LINDEX [key] [index]
按范围查看队列信息: LRANGE [key] [start_index] [end_index]
仅保留某区间的列表,其余元素全被删除: LTRIM [key] [start_index] [end_index]

具体操作

使用压缩链表与双向链表进行存储

压缩链表:每个列表节点保存⼀个列表中的元素
当我们执⾏ RPUSH testlist a b c 之后,其数据结构如下
在这里插入图片描述
双向链表:每个节点保存⼀个元素

在这里插入图片描述

编码转换规则:
同时满⾜⼀下两个条件时,就是 ziplist 类型,否则是 linkedlist 类型
【条件1】列表中所有元素⻓度都⼩于 65 字节。
【条件2】列表中元素的个数⼩于 512 个

应用场景

例如:微博消息与微信公众号消息
	因为消息从会不断地添加与更新,因此使用链表的方式进行从左向右存储,拿取数据从左向右遍历获取最新消息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于同步矩阵的多通道脑电功能连接分析_kaic

摘 要 本文研究了基于同步矩阵的多通道脑电功能连接分析方法,旨在揭示脑区之间的功能联系。首先,介绍了脑电信号的产生和特点,以及功能连接分析的概念和方法。其次,详细讨论了多通道脑电数据的采集和预处理流程,包括…

JAVA并发学习

1 基础准备 1.1 并发与并行 并发是不同的代码块交替执行,也就是交替可以做不同的事情。 并行是不同的代码块同时执行,也就是同时可以做不同的事情。 根据CPU 核数,线程运行是不同的 单核CPU(微观串行,宏观并行&…

YOLOV5 + PYQT5双目测距(一)

YOLOV5 PYQT5双目测距 1. 测距源码2. 测距原理3. PYQT环境配置4. 实验结果4.1 界面1(简洁版)4.2 界面2(改进版) 1. 测距源码 详见文章 YOLOV5 双目测距(python) 2. 测距原理 如果想了解双目测距原理&a…

Stable Diffusion 指定模型人物,Lora 训练全流程

简介 在使用 Stable Diffusion 的时候,可以选择别人训练好的 Lora,那么如何训练自己的 Lora,本篇文章介绍了介绍了如何训练Lora,如何从训练的模型中选择好的模型,如何在 Stable Diffusion 中使用。 闲话不多说&#…

CUDA编程接口详解

CUDA编程接口详解 本文将详细介绍NVIDIA CUDA编程指南第3章(编程接口)中的核心概念,例如NVCC编译器、CUDA运行时、版本管理和兼容性、计算模式、模式切换以及Windows下的Tesla计算集群模式。以下是本文的大纲: 文章目录 CUDA编程…

《斯坦福数据挖掘教程·第三版》读书笔记(英文版)Chapter 11 Dimensionality Reduction

来源:《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT Chapter 11 Dimensionality Reduction Let M be a square matrix. Let λ be a constant and e a nonzero column vector with the same number of rows as M. Then λ is an eigenvalue of M and e is t…

快手三面全过了,却因为背调时leader手机号造假,导致offer作废了!

这是一个悲伤的故事: 快手本地三面全过了,但因为背调时leader手机号造假,导致offer作废了。 楼主感叹:大家背调填写信息时,一定要慎重再慎重,不要重复他的悲剧! 网友愤慨,照这么说&a…

【Nginx 优化与防盗链】

目录 一、Nginx 服务优化1、配置Nginx 隐藏版本号2、修改用户与组3、缓存时间4、日志切割小知识 二、Nginx 深入优化1、连接超时2、更改进程数3、配置网页压缩4、配置防盗链 一、Nginx 服务优化 1、配置Nginx 隐藏版本号 可以使用 Fiddler 工具抓取数据包,查看 Ng…

UniApp全局弹窗

一、设计思路 1、创建一个弹窗页面组件 2、配置page.json,使页面跳转是在当前界面展示 3、定义uni全局全局属性 4、解决多个弹窗同时使用的冲突问题 注意:此方案不支持多个弹窗并存,有且仅有一个会展示,当前弹窗展示并关闭上一个弹…

连锁药店系统:如何提高效率和客户满意度?

连锁药店系统是一种用于提高效率和客户满意度的软件系统,它能够管理多个药店的日常营运。通过这种系统,药店可以更好地管理库存、员工、销售和客户信息等方面,从而提高整体的经营效率。 首先,连锁药店系统能够帮助药店管理库存。系…

黑马Redis视频教程实战篇(六)

目录 一、附近商户 1.1、GEO数据结构的基本用法 1.2、导入店铺数据到GEO 1.3、实现附近商户功能 二、用户签到 2.1、BitMap功能演示 2.2、实现签到功能 2.3、签到统计 2.4、关于使用bitmap来解决缓存穿透的方案 三、UV统计 3.1、HyperLogLog 3.2、测试百万数据的统…

I.MX6ull 中断 二 (按键驱动蜂鸣器)

按键中断 KEY0 (UART1_CTS 引脚)触发蜂鸣器 1 修改start.S 添加中断相关定义 中断向量表 .global _start /* 全局标号 *//** 描述: _start函数,首先是中断向量表的创建* 参考文档:ARM Cortex-A(armV7)编程手册V4.0.pdf P…

【花雕学AI】ChatGPT帮我快速优化标题:古老的非洲部落,有一种神奇的超音速烫脚舞

关于非洲烫脚舞,直接看看ChatGPT的许多创意,一般人确实想不到: 部落文化的声动震波 非洲之歌:部落的音速节奏 非洲土著的音速脚掌传奇 古老部落的震人心魂之舞 非洲红土之声:脚掌舞的激情 非洲神秘部落的超音速脚掌舞 仙踪般的部落音乐…

chatgpt赋能python:Python绘制函数曲线:创造出令人惊叹的图形

Python绘制函数曲线:创造出令人惊叹的图形 随着越来越多的人开始关注数据可视化,Python成为了一种被广泛使用的工具,用于创建各种图形,包括函数曲线。Python图形库的灵活性和适用性使得它成为数据科学和工程领域中最受欢迎的编程…

如何用 ChatGPT 一句话生成 Web 应用?

原型系统的开发对很多不会编程的人来说,原本确实是一道门槛,而且看似难以逾越。而现在,障碍突然间就消失了。 插件 ChatGPT 现在有了一个内容比较丰富的插件系统,而且 Plus 用户已经不再需要填表申请后漫长等待,直接就…

英雄算法联盟 | 六月算法集训顺利开始

文章目录 前言一、集训规划二、星友的反馈1、有觉得题目简单重新找回了自信的2、有拿到题不管三七二十一疯狂输出的3、有为了完成当天作业奋斗到凌晨的4、有自己悟出了坚持就是胜利的道理的5、有发现身边人都在跑而跃跃欲试的6、有上班摸鱼刷题只因为了赶进度的7、有看到大家都…

【微信小程序开发】第 2 节 - 注册小程序开发账号

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、注册小程序开发账号 3、总结 1、缘起 开发微信小程序从大的方面来说主要分为三步: ① 注册小程序开发…

【观察】星环科技:布局行业大模型赛道,加速国产化替代进程

以ChatGPT和GPT所代表的大模型,已经在国内形成了“海啸效应”,几乎所有的科技公司都在想方设法进入大模型的赛道。背后的核心驱动力,就在于大模型的最大价值在于普遍提升个人生产力,而各行各业的公司都在积极寻找应用大模型和生成…

黑客使用哪些编程语言

黑客使用哪些编程语言? 使用 Python 分析漏洞利用数据库 克里斯蒂安科赫 迈向数据科学 2021 年,我们与科学家同行一起在德国混沌计算机俱乐部 (CCC) 进行了一项调查。我们的目标是找出黑客最常使用的编程语言。 本文跟进调查&…

M F C(七)对话框

概念 与用户进行交互的窗口,它的顶级父类为CWND,对话框上面可以有各种控件,控件也是继承自CWND 基本控件功能对应的类静态文本框显示文本,一般不能接收输入信息CStatic图像控件显示图标、方框、和图元文件CStatic编辑器编辑正文…