RedisTemplateAPI:List

文章目录

  • ⛄介绍
  • ⛄List的常见命令有
  • ⛄RedisTemplate API
    • ❄️❄️添加缓存
    • ❄️❄️将List放入缓存
    • ❄️❄️设置过期时间(单独设置)
    • ❄️❄️获取List缓存全部内容(起始索引,结束索引)
    • ❄️❄️从左或从右弹出一个元素
    • ❄️❄️根据索引查询元素
    • ❄️❄️获取List缓存的长度
    • ❄️❄️根据索引修改List中的某条数据(key,索引,值)
    • ❄️❄️移除N个值为value(key,移除个数,值)
  • 使用场景


在这里插入图片描述

在这里插入图片描述


⛄介绍

Redis 中的List类型与Java中的 LinkedList 类似,可以看做是一个 双向链表 结构。既可以支持正向检索和也可以支持反向检索。

特征也与LinkedList类似:

  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般

常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等。

⛄List的常见命令有

  • LPUSH key element … :向列表左侧插入一个或多个元素
  • LPOP key:移除并返回列表左侧的第一个元素,没有则返回nil
  • RPUSH key element … :向列表右侧插入一个或多个元素
  • RPOP key:移除并返回列表右侧的第一个元素
  • LRANGE key star end:返回一段角标范围内的所有元素
  • BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil

在这里插入图片描述


⛄RedisTemplate API

❄️❄️添加缓存

//1、通过redisTemplate设置值
redisTemplate.boundListOps("listKey").leftPush("listLeftValue1");
redisTemplate.boundListOps("listKey").rightPush("listRightValue2");

//2、通过BoundValueOperations设置值
BoundListOperations listKey = redisTemplate.boundListOps("listKey");
listKey.leftPush("listLeftValue3");
listKey.rightPush("listRightValue4");

//3、通过ValueOperations设置值
ListOperations opsList = redisTemplate.opsForList();
opsList.leftPush("listKey", "listLeftValue5");
opsList.rightPush("listKey", "listRightValue6");

❄️❄️将List放入缓存

ArrayList<String> list = new ArrayList<>();
//	left
redisTemplate.boundListOps("listKey").leftPushAll(list);
//	right
redisTemplate.boundListOps("listKey").rightPushAll(list);

❄️❄️设置过期时间(单独设置)

redisTemplate.boundValueOps("listKey").expire(1,TimeUnit.MINUTES);
redisTemplate.expire("listKey",1,TimeUnit.MINUTES);

❄️❄️获取List缓存全部内容(起始索引,结束索引)

List listKey1 = redisTemplate.boundListOps("listKey").range(0, 10); 

❄️❄️从左或从右弹出一个元素

//从左侧弹出一个元素
String listKey2 = (String) redisTemplate.boundListOps("listKey").leftPop();  
//从右侧弹出一个元素
String listKey3 = (String) redisTemplate.boundListOps("listKey").rightPop(); 

❄️❄️根据索引查询元素

String listKey4 = (String) redisTemplate.boundListOps("listKey").index(1);

❄️❄️获取List缓存的长度

Long size = redisTemplate.boundListOps("listKey").size();

❄️❄️根据索引修改List中的某条数据(key,索引,值)

redisTemplate.boundListOps("listKey").set(3L,"listLeftValue3");

❄️❄️移除N个值为value(key,移除个数,值)

redisTemplate.boundListOps("listKey").remove(3L,"value");

使用场景

  • 消息队列(Message Queue): List 可以用作简单的消息队列,生产者可以将消息 push 到列表的一端,而消费者可以从列表的另一端 pop 出消息进行处理。

  • 任务队列(Task Queue): List 可以用作任务队列,生产者可以向列表中 push 任务,而消费者可以从列表中 pop 出任务进行处理。

  • 发布与订阅(Pub/Sub)的实现: 你可以将订阅者的信息保存在列表中,发布者发布消息时,将消息推送到列表中,订阅者可以从列表中获取最新的消息。

  • 实时数据更新: List 可以用来存储一些需要实时更新的数据,比如用户的行为记录、实时日志等。


在这里插入图片描述



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

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

相关文章

AI巨头争相与Reddit合作:为何一个古老的论坛成为AI训练的“宝藏”?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

RDDM论文阅读笔记

CVPR2024的残差去噪模型。把diffusion 模型的加噪过程分解为残差diffusion和noise diffusion&#xff0c;其中残差diffusion模拟从target image到degraded image的过程&#xff0c;而noise diffusion则是原来的diffusion过程&#xff0c;即从图片到高斯噪声的加噪过程。前者可以…

Error:(6, 43) java: 程序包org.springframework.data.redis.core不存在

目录 一、在做SpringBoot整合Redis的项目时&#xff0c;报错&#xff1a; 二、尝试 三、解决办法 一、在做SpringBoot整合Redis的项目时&#xff0c;报错&#xff1a; 二、尝试 给依赖加版本号&#xff0c;并且把版本换了个遍&#xff0c;也不行&#xff0c;也去update过ma…

hls.js实现分片播放视频

前言&#xff1a;hls.js官网&#xff1a;hls.js - npm 一、demo——在HTML中使用 <audio id"audio" controls></audio><script src"https://cdn.jsdelivr.net/npm/hls.jslatest"></script> <script>document.addEventList…

华为鸿蒙认证培训 | 讯方技术成为首批鸿蒙原生应用开发及培训服务商

5月20日&#xff0c;鸿蒙原生应用合作交流推介会-深圳站在深圳中洲万豪酒店隆重举行。讯方技术作为鸿蒙钻石服务商受邀参与此次活动&#xff0c;活动由讯方技术总裁刘国锋、执行副总裁刘铭皓、教学资源部部长张俊豪共同出席。 本次活动由深圳政府指导&#xff0c;鸿蒙生态官方…

AI边缘计算高效赋能,打造智慧社区安防管理解决方案

一、背景需求分析 随着信息技术的飞速发展&#xff0c;智慧社区建设已成为提升社区治理和服务水平的重要方向。通过深度整合大数据、云计算和人工智能等前沿技术&#xff0c;致力于构建信息化、智能化的新型社区治理体系。根据《关于深入推进智慧社区建设的意见》的指引&#…

泰克TBS2204B示波器如何设置存储时间?

示波器是电子测量领域中不可或缺的重要仪器之一。泰克公司生产的TBS2204B数字示波器是一款广受欢迎的中端市场产品&#xff0c;其中存储时间设置是用户需要掌握的关键操作之一。 TBS2204B示波器的存储时间设置涉及以下几个方面&#xff1a; 1. 存储时间基准 存储时间基准决定…

办公楼智慧公厕解决方案云平台,助力办公环境品质提升

在现代化的办公楼中&#xff0c;智慧公厕解决方案云平台正发挥着至关重要的作用&#xff0c;有力地助力办公环境品质的提升。 一、云平台优势 智慧公厕云平台具有高效的集成性&#xff0c;将各种设备和信息整合在一起&#xff0c;实现了统一管理和调度。云平台还可以和海量的设…

Threes 特效 炫酷传送门HTML5动画特效

基于Three.js的HTML5 3D动画&#xff0c;这个动画模拟了游戏中的一个炫酷的3D场景&#xff0c;支持360度视角查看&#xff0c;也支持鼠标滚轮进行缩放。画面中主要展现了一个游戏中传送门的效果&#xff0c;同时还有路两边的围栏、灯笼、石头&#xff0c;以及星光闪闪的萤火虫&…

第52期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

重新夺回控制权!原创始人从Synk回购FossID,致力于解决开源许可合规风险

FossID 于 2022 年 9 月被其原始创始人从 Snyk, Inc. 重新收购。为什么 Snyk 在 2021 年收购了 FossID&#xff0c;又在 2022 年将其分拆&#xff0c;以及为什么 FossID 的创始人&#xff08;Oskar Swirtun 和 Jon Aldama&#xff09;后来又回购了该公司&#xff1f; 公司背景 …

Transformer详解(1)-结构解读

Transormer块主要由四个部分组成&#xff0c;注意力层、位置感知前馈神经网络、残差连接和层归一化。 1、注意力层(Multi-Head Attention) 使用多头注意力机制整合上下文语义&#xff0c;它使得序列中任意两个单词之间的依赖关系可以直接被建模而不基于传统的循环结构&#…

如何让社区版IDEA变得好用

如何让社区版IDEA变得好用 背景 收费版的idea功能非常强大&#xff0c;但是费用高。社区版的免费&#xff0c;但是功能被阉割了。如何才能让社区版Idea变得好用&#xff0c;就需要各种插件支持了。经过全局配置编码&#xff0c;maven&#xff0c;jdk版本&#xff0c;在加上各…

舵机(结构,原理,控制方法)

介绍 舵机&#xff0c;全称为伺服马达&#xff08;Servo Motor&#xff09;&#xff0c;是一种能够精确控制角度或位置的电动机。它广泛应用于模型制作、机器人技术、工业自动化等领域。舵机通过接收控制信号&#xff0c;将其转化为机械运动&#xff0c;从而实现精确的控制。 …

AI大模型如何赋能智能座舱

AI 大模型如何赋能智能座舱 从上海车展上&#xff0c;我们看到由于智能座舱配置性价比较高&#xff0c;已经成为车企的核心竞争点之一&#xff0c;随着座舱硬件规模化装车&#xff0c;蔚小理、岚图、极狐等新势力开始注重座舱多模态交互&#xff0c;通过集成语音/手势/触控打造…

Cesium与Three相机同步(2)

之前实现了将Three相机同步到Cesium相机Cesium与Three相机同步(1)-CSDN博客 现在是将Cesium相机同步到Three相机,从而实现了相机双向同步。 <!DOCTYPE html> <html lang="en"><head><title>three.js webgl - orbit controls</title&g…

YTM32的flash应用答疑-详解写保护功能

YTM32的flash应用答疑-详解写保护功能 文章目录 YTM32的flash应用答疑-详解写保护功能IntroductionPrincipleOperation & DemonstrationDemo #1 验证基本的写保护功能Demo #2 编程CUS_NVR设定EFM_ADDR_PROT初值Demo #3 启用写保护后试试块擦除操作 Conclusion Introduction…

MySQL中如何知道数据库表中所有表的字段的排序规则是什么?

查看所有表的字段及其排序规则&#xff1a; 你可以查询 information_schema 数据库中的 COLUMNS 表&#xff0c;来获取所有表的字段及其排序规则。以下是一个示例查询&#xff1a; SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLLATION_NAME FROM information_schema.COL…

小皮面板中访问不了本地的sqli网站---解决方法

今天想在sqli-labs中做题&#xff0c;却发现自己访问不了网站 1、具体的错误原因如下 2、查了一下&#xff0c;可能是因为自己访问的域名不对 3、修改了域名为&#xff1a;http://sqli-labs:81/Less-2/便可以访问了 4、然后接下来我有遇到一个错误&#xff0c;这个问题是php版…