redis对象list

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.hqwc.cn/news/586720.html

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

相关文章

使用Leaflet.rotatedMaker进行航班飞行航向模拟的实践

目录 前言 一、Leaflet的不足 1、方向插件 2、方向控制脚本说明 二、实时航向可视化实现 1、创建主体框架 2、飞机展示 3、位置和方位模拟 三、成果及分析 1、成果展示 2、方向绑定解读 总结 前言 众所周知&#xff0c;物体在空间中的运动&#xff08;比如飞行、跑步…

基于51单片机甲醛浓度检测设计

基于51单片机甲醛浓度检测设计 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.甲醛浓度数据经过单片机处理&#xff0c;由LCD1602实时显示。 2.可通过按键设置甲醛报警阈值&#xff…

幂函数计算指令(CODESYS ST语言)

非线性传感器的测量往往需要幂函数计算指令,PLC里往往并没有现成的幂函数指令,需要我们自己构造 1、非线性传感器测量 模拟量采集非线性函数(真空度计算)_plc三菱對真空計算法-CSDN博客文章浏览阅读876次,点赞2次,收藏8次。工业现场大部分传感器都是线性变换关系,关于…

CVE-2023-4427:Out-of-bounds access in ReduceJSLoadPropertyWithEnumeratedKey

文章目录 前言环境搭建for-in && enum cache漏洞分析漏洞利用总结参考 前言 之前分析调试漏洞时&#xff0c;几乎都是对着别人的 poc/exp 调试&#xff0c;感觉对自己的提升不是很大&#xff0c;所以后面分析漏洞时尽可能全面分析&#xff0c;从漏洞产生原理、如何稳定…

HTML 点击图片后悬浮放大图片

引入插件 1.viewer.js 2.引入viewer.css 3.引入jquery-viewer.min.js 4.添加图片点击事件function click(){ $(<img>, {src: 图片url }).viewer(show); } 效果图&#xff1a; 可网上自行下载对应插件&#xff0c;或新建相关命名文件后&#xff0c;把我下文的js代码…

10个热门的AI工具和官网地址(值得收藏)

人工智能 (AI) 发展迅猛&#xff0c;各种AI工具如雨后春笋般涌现&#xff0c;改变着我们的工作和生活方式。从文本生成到图像创作&#xff0c;从视频制作到语音合成&#xff0c;AI工具正在渗透到各个领域&#xff0c;为我们带来前所未有的效率和可能性。准备好迎接AI浪潮了吗&a…

【C++】新的类功能和可变参数模板

目录 一、新的类功能1.1 默认成员函数1.1.1 移动构造函数1.1.2 移动赋值运算符重载 1.2 关键字default1.3 关键字delete 二、可变参数模板2.1 可变参数的函数模板2.2 递归方式展开函数2.3 empalce 一、新的类功能 1.1 默认成员函数 在之前的学习过程中&#xff0c;我们已经知…

深度剖析:计算机集群在大数据体系中的关键角色和技术要点

什么是计算机集群&#xff1f; 计算机集群是一组相互连接的计算机&#xff08;服务器&#xff09;&#xff0c;它们协同工作以完成共同的任务。集群中的每个计算机节点都可以独立运行&#xff0c;但它们通过网络连接在一起&#xff0c;以实现更高的可靠性、性能和可扩展性。 典…

父子页面调用和传值的问题(window.open,iframe)

解决的场景&#xff1a; 当前系统点击列表&#xff0c;打开了新窗口详情页&#xff08;window.open&#xff09;,然后在新窗口详情页进行状态更改操作成功之后&#xff0c;点击原标签页&#xff0c;希望原标签页自动刷新列表更新状态 当然了&#xff0c;父标签页调用子标签页的…

想要成为一名合格的软件测试工程师,你得会些啥?

对于很多新入行或者打算入行&#xff0c;成为软件测试工程师的小伙伴来说&#xff0c;刚开始接触这行&#xff0c;不知道自己究竟该学些什么&#xff0c;或者不知道必须掌握哪些知识&#xff0c;才能成为一名合格的测试工程师。 根据笔者观点&#xff0c;如果你能在学习过程中…

SSM框架学习——MyBatis关联映射

MyBatis关联映射 为什么要关联映射 实际开发中&#xff0c;对数据库操作常常会涉及多张表&#xff0c;所以在OOP中就涉及对象与对象的关联关系。针对多表操作&#xff0c;MyBatis提供关联映射。 关联关系概述 一对一&#xff1a;A类中定义B类的属性b&#xff0c;B类中定义A…

嵌入式硬件中常见的面试问题与实现

1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…