Redis数据类型之list

news2024/11/26 20:40:17

文章目录

  • list
    • Ⅰ. 增删查改
    • Ⅱ. 业务场景
    • Ⅲ. 注意事项


提示:以下是本篇文章正文内容,Redis系列学习将会持续更新

list

在这里插入图片描述

数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
list类型:保存多个数据,底层使用双向链表存储结构实现


Ⅰ. 增删查改

● 添加数据

lpush key value1 [value2] ……
rpush key value1 [value2] ……

● 获取数据

lrange key start stop/-1
lindex key index
llen key

● 获取并移除数据

lpop key
rpop key

● 规定时间内获取并移除数据

blpop key1 [key2] timeout
brpop key1 [key2] timeout
# 把原链表的尾节点头插到目的链表
brpoplpush source destination timeout

● 移除指定数据, 可删除多个

lrem key count value

回到目录…

Ⅱ. 业务场景

  1. 微信朋友圈点赞,要求按照点赞顺序显示点赞好友信息。如果取消点赞,移除对应好友信息。
  2. twitter、新浪微博、腾讯微博中个人用户的关注列表需要按照用户的关注顺序进行展示,粉丝列表需要将最近关注的粉丝列在前面。
  3. 新闻、资讯类网站如何将最新的新闻或资讯按照发生的时间顺序展示?
  4. 企业运营过程中,系统将产生出大量的运营数据,如何保障多台服务器操作日志的统一顺序输出?

Tip: redis 应用于具有操作先后顺序的数据控制。

回到目录…

Ⅲ. 注意事项

● list 中保存的数据都是string类型的,数据总容量是有限的,最多 2^32-1 个元素 (4294967295)。

● list 具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出栈操作。

● 获取全部数据操作结束索引设置为 -1。

● list 可以对数据进行分页操作,通常第一页的信息来自于list,第2页及更多的信息通过数据库的形式加载。

回到目录…


总结:
提示:这里对文章进行总结:
本文是对Redis的学习,学习了list类型的增删查改,以及他的业务场景、注意事项。之后的学习内容将持续更新!!!

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

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

相关文章

问题 D: 是否为有效的拓扑序列

题目描述 在一个有向无环图中,可能存在多种有效拓扑序列。以下图为例: 存在两种可行的拓扑序列:0 1 2 3 40 2 1 3 4 本题会给出一个图,以及多个序列,你来判断每一个序列是否是该图的有效拓扑序列。 输入格式 第一…

(Transferrin)TF-PEG-PCL/PLA/PAA 转铁蛋白-聚乙二醇-聚已内酯/聚乳酸/聚丙烯酸

产品名称:转铁蛋白-聚乙二醇-聚已内酯 英文名称:TF-PEG-PCL;Transferrin-PEG-PCL 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体,取决于分子量 PEG分子量可选:350、550、75…

外汇天眼:美国10月份成屋销售连续第九个月下降!利率上升和通胀飙涨吓跑潜在买家!

10月份美国房屋销售连续第9个月下滑,因利率上升和通胀飙升令买家持观望态度。 具体付 全美房地产经纪人协会(National Association of Realtors)的数据显示,9月至10月,成屋销售下降5.9%。这是自2011年12月以来的最慢速度,除了在C…

企业真实面试:父子类之间到底是怎么实例化的?

一. 问题展现 今天有粉丝向波哥询问了这样一道题目,这道题目是粉丝在面试时遇到的,如下图所示: 波哥把上图这道题目的考察重点给大家梳理一下: 有一个父类People,它有一个子类Child; 父类的的无参构造方法…

Redis——》过期删除策略

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》过期删除策略一、过期删除策略1、定时删除2、惰性删除3、定期删…

通达信交易dll接口怎么实现程序化交易?

现在很多交易者选择量化投资与传统的股票交易之间,往往会选择自动化交易跟量化交易的比较多,毕竟现在很多可以开发出来的交易软件都具备了量化的特点,能够及时的把握更多的盈利的机会,就比如说常使用的到通达信交易dll接口就是一个…

LeetCode | 850. 矩形面积 II

我们给出了一个(轴对齐的)二维矩形列表 rectangles 。 对于 rectangle[i] [xi1, yi1, xi2, yi2], 表示第 i 个矩形的坐标, (xi1, yi1) 是该矩形 左下角 的坐标, (xi2, yi2) 是该矩形 右上角 的坐标。 计算平面中所有 rectangles…

java maven pom application 生产prod/开发dev/测试test

前言 pom 和 application.properties(application.yml)里的定义的环境不太一样, pom 是maven对应的配置文件,编译阶段使用 application.properties(application.yml) 是Spring配置文件,程序运行阶段使用 POM pom文…

每次打开百度太麻烦?用程序直接打开网页 Python实现百度划词搜索功能(获取剪切板数据)

浏览顺序实现划词功能运行错误解决问题转载声明实现划词功能 说是划词翻译,实际上我们是通过获取用户的剪切板内容,通过一系列的操作得到的。首先呢,我们就先实现如何获取剪切板内容的程序 首先先在桌面创建一个文件夹,命名为“…

pac自动代理

文章目录1.pac 定义2. 参考配置地址3. 实际配置案例3.1 编写pac文件3.1.1 return 语句有三种指令:3.1.2 内置函数3.1.2.1 dnsDomainIs3.1.2.2 shExpMatch3.1.2.3 isInNet3.1.2.4 主机ip3.1.2.5 dnsResolve3.1.2.6 isPlainHostName3.1.2.7 isResolvable3.1.2.8 dnsDo…

RabbitMQ初步到精通-第十章-RabbitMQ之Spring客户端源码

目录 第十章-RabbitMQ之Spring客户端源码 1. 前言 2. 客户端消费代码 2.1 消费的实现方式 2.2 消费中注解解释 2.3 推测Spring实现过程 3.MQ消费源码分析 3.1 集成SpringBoot 启动过程 3.2 Broker投递消息给客户端过程 3.3 客户端消费过程 4. 总结 第十章-RabbitMQ之S…

【Linux】线程安全

文章目录1.线程互斥1.1.线程间互斥的相关概念1.2互斥量1.3互斥量接口1.4互斥量实现原理2.可重入VS线程安全3.常见锁概念3.1死锁3.2常见死锁情况3.2.1情况一:忘记释放锁3.2.2情况二:线程重复申请锁3.2.3情况三:双线程多锁申请3.3锁的相关概念4…

m在VBLAST协作MIMO系统分部使用LDPC,Turbo,卷积三种信道编译码进行误码率matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 从上面的结构可知,整个卷积编码的结构可由CRC校验,卷积编码,打孔组成,其中打孔的作用就是讲卷积编码后的码率变为所需要的码率进行发送。 …

一种在行末隐藏有效载荷的新供应链攻击技术研判

近期,Phylum检测到数十个新发布的Pypi软件包执行供应链攻击,在这些软件包中,通过隐藏的__import__将窃取程序投递到开发人员的机器上。攻击者利用代码审核者所使用IDE默认的不换行代码显示设置隐藏自身的行为与载荷,本文将就其中出…

栈简介、手写顺序栈、手写链栈和栈的应用

一. 简介 1. 什么是栈? 栈是一种只能从表的一端存取数据且遵循 "先进后出"("后进先出") 原则的线性存储结构。栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构。 C#中提供顺序栈:Stack&…

【MySQL基础】如何安装MySQL?如何将MySQL设置成服务?

目录 一、MySQL的安装 1、解压配置 2、步骤安装 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 一、MySQL的安装 MySQL的安装有两种方式:解压配置和步骤安装 1、解压配置 需提前从官网直接下载压缩包,进…

【MySQL篇】第二篇——库的操作

目录 创建数据库 创建数据库案例 字符集和校验规则 查看系统默认字符集以及校验规则 查看数据库支持的字符集 查看数据库支持的字符集校验规则 校验规则对数据库的影响 操纵数据库 查看数据库 显示创建语句 修改数据库 数据库删除 备份和恢复 备份 还原 注意事…

常见磁盘调度算法总结

磁盘调度算法📖1. 最短寻道时间优先(SSTF)📖2. 电梯算法(SCAN或C-SCAN)📖3. 最短定位时间优先(SPTF)📖4. 总结由于IO的高成本,操作系统在决定发送…

C语言 0 —— 计算机硬件架构及信息在计算机中的表示

当前的计算机系统,如Window ,Linux,Mac 基本都是基于冯诺依曼的驱动架构设计的。 冯诺依曼架构输入设备先输入公式,给运算器,运算器先算 先算2*5 ,临时放在CPU内部寄存器中,寄存器不够用的时候会…

vscode插件开发(四)Webview(1)

上一篇详细讲解了命令,这回我们一起来看一下Webview。vscode的插件其实可以分为两种,一种是webview插件,另一种是非webview插件。 webview插件的自由度很高,可以满足开发者的各种定制化的要求;而非webview插件只能使用…