redis对象list

news/2024/6/15 14:49:53/文章来源:https://blog.csdn.net/qq_43458555/article/details/137127837

Redis List是一组连接起来的字符串集合。

在这里插入图片描述

写操作:

LPUSH

语法:LPUSH key value [value …]
功能:从头部增加元素,返回值为List中元素的总数。

RPUSH

语法:RPUSH key value [value …]
功能:从尾部增加元素,返回值为List中元素的总数。

LPOP

语法:LPOP key
功能:移出并获取列表的第一个元素。

LREM

语法:LREM key count value
功能:移除值等于value的元素。当count=0,则移除所有等于Fvalue的元
素。当count>0,则从左到右开始移除count个。当count<0则从右到左移除
count个。返回值为被移除元素的数量。

DEL

语法:DEL key[key …]
功能:删除对象,返回值为删除成功了几个键。

UNLINK

语法:UNLINK key [key …]
功能:删除对象,返回值为删除成功了几个键。

和DEL主要有如下不同:

del命令同步删除命令,会阻塞客户端,直到删除完成。unlink 命令是异步
删除命令,只是取消Key在键空间的关联,让其不再能查到,删除是异步进
行,所以不会阻塞客户端。

LLEN

语法:LLEN key
功能:查看List的长度,即List中元素的总数。

LRANGE

语法:LRANGE key start stop
功能:查看start到stop为角标的元素。

编码方式

3.2版本之前,List对象有两种编码方式,一种ZIPLIST,另一种是
LINKEDLIST。

在这里插入图片描述

ZIPLIST

当满足如下条件时,用ZIPLIST编码:
1.列表对象保存的所有字符串对象长度都小于64字节;
2.列表对象元素个数少于512个,注意,这是LIST的限制,而不是ZIPLIST的
限制;
在这里插入图片描述
可以看到,“hello”、“niuniu”、"mart"都挨在一起,正如其名字一样。ZIPLIST内存排列得很紧凑,可以有效节约内存空间。

LINKEDLIST

如果不满足ZIPLIST编码的条件,则使用LINKEDLIST编码。为了便于描述,
我们还是假设列表中包含"hello"、“niuniu”、"mart"三个元素,如果用
LINKEDLIST编码,则是几个String对象的链接结构,结构示意意图如下:
在这里插入图片描述

QUICKLIST横空出世

LINKEDLIST原来是单个节点,只能存一个数据,现在单个节点存的是一个
ZIPLIST,即多个数据。

在这里插入图片描述

在redis7.0之后,压缩列表listpack完全取代了ziplist.

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastadmin学习07-无限级分类

create table fa_producttype (id int auto_increment comment 分类id,createtime bigint null comment 创建时间,updatetime bigint null comment 更新时间,deletetime bigint null comment 删除时间,name varchar(255) null comment 分类名称…

数论与线性代数——整除分块【数论分块】的【运用】【思考】【讲解】【证明(作者自己证的QWQ)】

文章目录 整除分块的思考与运用整除分块的时间复杂度证明 & 分块数量整除分块的公式 & 公式证明公式证明 代码code↓ 整除分块的思考与运用 整除分块是为了解决一个整数求和问题 题目的问题为&#xff1a; ∑ i 1 n ⌊ n i ⌋ \sum_{i1}^{n} \left \lfloor \frac{n}{…

用html实现在页面底部养鱼的效果

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>在网页底部养鱼</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"fi…

​ SpringBoot自动装配原理

SpringBoot自动装配原理 SpringBoot的启动类上有一个注解&#xff1a;SpringBootApplication 。该注解是三个注解的复合注解。 1.SpringBootConfiguration 注解 点进SpringBootConfiguration 注解&#xff0c;可以发现其核心注解为Configuration注解&#xff1a; Configuration…

Mysql 常用SQL语句

1、查看mysql中所有的数据库&#xff0c; show databases; 2、创建库 create database 库名;&#xff08;也可以用 create database if not exists 库名; 表示如果库不存在再创建&#xff09; 例&#xff1a;create database if not exists ecology; 3、删除库 …

Mysql数据库故障排查与优化

目录 前言 一、Mysql数据库的单实例故障 1.故障一——拒绝连接数据库 1.1故障内容 1.2问题分析 1.3解决方法 2.故障二——密码错误 2.1故障内容 2.2问题分析 2.3解决方法 3.故障三——数据库处理较慢 3.1故障内容 3.2问题分析 3.3解决方法 4.故障四——数据库表…

【leetcode】力扣简单题两数之和

题目 思路 代码实现 #include<iostream> #include<unordered_map>using namespace std;class Solution { public:vector<int> TwoNumber(const vector<int>& nums, int target){vector<int> number_vector;unordered_map<int, int> …

SpringCloud学习(1)-consul

consul下载安装及使用 1.consul简介 Consul是一种开源的、分布式的服务发现和配置管理工具&#xff0c;能够帮助开发人员构建和管理现代化的分布式系统。它提供了一套完整的功能&#xff0c;包括服务注册与发现、健康检查、KV存储、多数据中心支持等&#xff0c;可以帮助开发人…

代码随想录算法训练营第39天|62.不同路径 |63. 不同路径 II

代码随想录算法训练营第39天|62.不同路径 |63. 不同路径 II 详细布置 62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流&#xff0c;很难想到。 https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html 视频讲解&#xff1a;https…

深入了解C语言中的结构体类型与内存对齐

引言&#xff1a; 在C语言中&#xff0c;结构体是一种自定义的数据类型&#xff0c;它允许我们将不同类型的数据组合在一起&#xff0c;形成一个新的数据类型。结构体的使用为我们解决了一些复杂数据的表示和处理问题&#xff0c;不仅限于单单的整型或者字符。本文将深入探讨结…

网络编程--高并发服务器(二)

这里写目录标题 线程池高并发服务器UDP服务器TCP与UDP机制的对比TCP与UDP优缺点比较UDP的C/S模型实现思路模型分析实现思路&#xff08;对照TCP的C/S模型&#xff09; recvfrom函数、sendto函数 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二…

C++引用与指针比较

引子&#xff1a; 问题&#xff1a; 指针指向变量必须类型一致&#xff08;int对int*类型指针&#xff09;&#xff0c;这样计算&#xff0c;解引用才能得到正确的结果&#xff0c;那引用也是如此吗&#xff1f; 回答&#xff1a;&#xff08;常引用&#xff09; 从语法来说…

MyBatis主要的类层次结构(Mybatis工具类)

MyBatis主要的类层次结构 每一个MyBatis的应用程序都以一个SqlSessionFactory 对象的实例为核心 。 SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得 。 SqlSessionFactoryBuilder对象可以从 XML 配置文件中构建 SqlSessionFactory对象。 package…

RN实现全局数据共享(非Redux,使用原生内置的方法实现)

下面这个方法是在RN使用全局数据共享的,使用原生React的方式搞得,相对于Redux配置相对简单,适合小型项目 项目内创建MyContext.js // MyContext.jsimport React from react;const MyContext React.createContext();export default MyContext;App.js引入 // App.jsimport Rea…

【opencv】教程代码 —features2D(7)根据单应性矩阵估计相机坐标系下的物体位姿...

pose_from_homography.cpp从图像中找到棋盘角点并进行姿态估计 从图像中找到棋盘角点并显示 计算角点在世界坐标系中的位置 读取相机内参和畸变系数并校正图像中的角点 计算从3D点到2D点的单应性矩阵 通过奇异值分解(SVD)优化对旋转矩阵的估计 基于单应矩阵分解及其优化结果&am…

HarmonyOS 应用开发之LifecycleForm接口切换LifecycleApp接口切换 LifecycleApp接口切换

LifecycleForm接口切换 FA模型接口Stage模型接口对应d.ts文件Stage模型对应接口onCreate?(want: Want): formBindingData.FormBindingData;ohos.app.form.FormExtensionAbility.d.tsonAddForm(want: Want): formBindingData.FormBindingData;onCastToNormal?(formId: string…

Java复习第十一天学习笔记(IO流),附有道云笔记链接

【有道云笔记】十一 3.27 IO流 https://note.youdao.com/s/PeEdd3Zo 一、IO介绍以及分类 IO: Input Output 流是一组有顺序的&#xff0c;有起点和终点的字节集合&#xff0c;是对数据传输的总称或抽象。即数据在两设备间的传输称为流&#xff0c;流的本质是数据传输&#x…

无人机编队 | 基于自适应航迹评价函数权重的动态窗口法长机-僚机法实现多无人机路径规划附matlab代码

基本概述 实现基于自适应航迹评价函数权重的动态窗口法(Dynamic Window Approach, DWA)的长机-僚机(Leader-Follower)多无人机路径规划是一个复杂的任务,涉及到多个算法的组合与改进。这里我会简要介绍其原理,并提供一个基础的Matlab代码框架,但请注意,这只是一个起点…

如何恢复被.locked勒索病毒加密的服务器和数据库?

.locked勒索病毒有什么特点&#xff1f; .locked勒索病毒的特点主要包括以下几个方面&#xff1a; 文件加密&#xff1a;.locked勒索病毒会对受感染设备上的所有文件进行加密&#xff0c;包括图片、文档、视频和其他各种类型的重要文件。一旦文件被加密&#xff0c;文件的扩展…

Day14_学点CSS_高级选择器Demo

1 后代选择器s1 s2 <!--~ 适度编码益脑&#xff0c;沉迷编码伤身&#xff0c;合理安排时间&#xff0c;享受快乐生活。~ Copyright TangXJ~ Created by TangXJ~ Created&Used date: 2024/3/29 下午3:46 ~ 2024/3/29 下午3:47~ Modified date: 2024/3/29 下午3:47-->…