当前位置: 首页 > news >正文

通过Spring-Data-Redis操作Redis

目录

一、搭建环境

(1)引入依赖

(2)自定义模板序列器

(3)编写配置文件

(4)操作方法

二、测试


一、搭建环境

(1)引入依赖

 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>io.projectreactor</groupId><artifactId>reactor-test</artifactId><scope>test</scope></dependency></dependencies>

(2)自定义模板序列器

不用会写这个代码,直接复制粘贴即可

@Configuration
public class RedisConfig {/*** 创建RedisTemplate:用于执行Redis操作的方法*/@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory)   {RedisTemplate<String, Object> redisTemplate= new RedisTemplate<String, Object>();redisTemplate.setConnectionFactory(factory);//设置通用序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());return redisTemplate;}
}

(3)编写配置文件

application.yml

spring:redis:host: redisIP地址port: 端口号

(4)操作方法

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

二、测试

//通过这个方法进行操作@Autowiredprivate RedisTemplate<String,Object> redisTemplate;@Testpublic void string(){redisTemplate.opsForValue().set("test2","23");}

 String类型
1、set(key,va;ue) 设值
2、get(key)获取元素
3、setex(key,value,long expire)设值并设置过期时间


Hash类型
1、hset(key,map-key,map-value,long expire)可在设值时设置过期时间
2、hget(key,map-key)获取值

set类型
1、sset(key,vlaues...)设值
2、sgetSize(key)获取set的长度
3、sgetAll(key) 获取元素(集合)

zset类型
1、zadd(key,member,score)添加元素
2、zrange(key,start,end)获取元素

list类型
1、lrush(key,value)左添加
2、getList(key,start,end)获取元素

相关文章:

通过Spring-Data-Redis操作Redis

目录 一、搭建环境 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;自定义模板序列器 &#xff08;3&#xff09;编写配置文件 &#xff08;4&#xff09;操作方法 二、测试 一、搭建环境 &#xff08;1&#xff09;引入依赖 <dependencies><dep…...

自动驾驶ADAS

1 ToF摄像头分类 1.1 ToF原理 类似雷达测距&#xff0c;生成3D点云&#xff0c;或者叫3D贴图。ToF相机的分辨率一般在3万像素左右。ToF距离计算公式如图所示。 Figure 1-1 ToF距离计算公式 D&#xff1a;距离 c&#xff1a;光速 PHI&#xff1a;相位差 fmod&#xff1a;调制频率…...

Python+Pytest+Allure+Yaml接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人&#xff1a;CesareCheung 更新时间&#xff1a;2024.06.20 一、技术栈 PythonPytestAllureYaml 版本要求&#xff1a;Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 1、安装python3.7&#xff0c;并配置…...

python turtle 001画两只小狗

效果图&#xff1a; 代码&#xff1a; pythonturtle001画两只小狗资源-CSDN文库 # 作者V w1933423import turtle # 导入turtle模块def draw_dogs():turtle.setup(800, 800) # 设置画布大小为800x800p turtle.Pen() # 创建一个画笔对象p.pensize(14) # 设置画笔大小为14p.…...

『亚马逊云科技产品测评』程序员最值得拥有的第一台专属服务器 “亚马逊EC2实例“

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 引言 自2006年8月9日&#xff0c;在搜索引擎大会&#xff08;SES San Jo…...

python 趣味习题_递归函数(炸弹迷宫路径计算)

@[toc] python 学习中,常会遇到一些百思不得其解的难题,但有时“灵光一现”找准方法,难题便会迎刃而解。 本专栏旨在记录本人解决问题的思考方法,及实现过程。有更好方法或对程序执行有疑问的伙伴,可在评论区留言,共同讨论。 题目要求 题目描述:在一串连续的迷宫(房间…...

免费翻译API及使用指南——百度、腾讯

目录 一、百度翻译API 二、腾讯翻译API 一、百度翻译API 百度翻译API接口免费翻译额度&#xff1a;标准版&#xff08;5万字符免费/每月&#xff09;、高级版&#xff08;100万字符免费/每月-需个人认证&#xff0c;基本都能通过&#xff09;、尊享版&#xff08;200万字符免…...

深度测试中的隐藏面消除技术

by STANCH 标签&#xff1a;#计算机图形学 #深度测试 #深度测试 #隐藏面消除 1.概述 根据我们的日常经验&#xff0c;近处的物体会挡住后面的物体&#xff0c;在三维场景中通常通过深度缓冲来实现这样的效果。深度缓冲记录着屏幕对应的每个像素的深度值。模型一开始所在的局部…...

oracle merge的使用

Oracle中的MERGE语句是一个非常强大的工具&#xff0c;它允许用户在一个SQL语句中同时执行INSERT和UPDATE操作。以下是关于Oracle MERGE语句的详细使用说明&#xff1a; 1. 基本语法 MERGE INTO target_table USING source_table ON (merge_condition) WHEN MATCHED THEN …...

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像&#xff1b;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波&#xff0c;并观察其不同&#xff1b;paddedsize&#xff0c;fft2&#xff08;x,m,n&#xff09; 由 sobel 空间滤波算子生成相应的频率…...

算法04 模拟算法之一维数组相关内容详解【C++实现】

大家好&#xff0c;我是bigbigli&#xff0c;模拟算法我们将分为几个章节来讲&#xff0c;今天我们只看一维数组相关的题目 目录 模拟的概念 训练&#xff1a;开关灯 解析 参考代码 训练&#xff1a;数组变化 解析 参考代码 训练&#xff1a;折叠游戏 解析 参考代码 …...

【技术解码】百数SRM:如何助力企业快速优化供应链管理?

SRM应用是企业优化供应链管理的重要工具&#xff0c;它帮助企业全面管理供应商关系&#xff0c;从评估、选择到协同合作和绩效监控&#xff0c;确保供应链的稳定性和效率。 对于企业来说&#xff0c;通过全面管理供应商关系&#xff0c;可以降低采购风险&#xff0c;提升产品质…...

想要用tween实现相机的移动,three.js渲染的canvas画布上相机位置一点没动,如何解决??

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…...

SQL连接与筛选:解析left join on和where的区别及典型案例分析

文章目录 前言数据库在运行时的执行顺序一、left join on和where条件的定义和作用left join on条件where条件 二、left join on和where条件的区别原理不同left join原理&#xff1a;where原理&#xff1a; 应用场景不同执行顺序不同&#xff08;作用阶段不同&#xff09;结果集…...

oliva-bruteforce-luks

olivaeasyLUKS v2破解、bruteforce-luks工具使用、cryptsetup使用、cap_dac_read_searcheip、mysql使用 主机发现 ┌──(kali㉿kali)-[~/桌面/OSCP] └─$ sudo netdiscover -i eth0 -r 192.168.44.148/24服务扫描 ┌──(kali㉿kali)-[~/桌面/OSCP] └─$ sudo nmap -sV -…...

图像超分辨率重建

一、什么是图像超分辨 图像超分辨是一种技术&#xff0c;旨在通过硬件或软件的方法提高原有图像的分辨率。这一过程涉及从一系列低分辨率的图像中获取一幅高分辨率的图像&#xff0c;实现了时间分辨率向空间分辨率的转换。超分辨率重建的核心思想是利用多帧图像序列的时间带宽来…...

小米上架遇到的隐私协议问题

1. 找到【APP权限设置】&#xff0c;点击详情&#xff0c;一一对照&#xff0c;删除没用的&#xff0c;新增小米商家必须要有的内容 2. APP 存在未经用户同意读取“OAID”的行为 uniapp官方文档对应内容处...

【区分vue2和vue3下的element UI Message 消息提示组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中&#xff0c;我们通常使用 Element UI 的 this.$message 方法来显示消息提示&#xff0c;而不是作为一个组件直接在模板中使用。然而&#xff0c;在 Vue 3 的 Element Plus 中&#xff0c;虽然 this.$message 的使用方式仍然保留&#xff0c;但官方文档可能更倾向于…...

架构设计 - Nginx Lua 缓存配置

摘要: web 应用业务缓存通常3级: 一级缓存:JVM 本地缓存 二级缓存:Redis集中式缓存 三级缓存:Nginx Proxy Cache 缓存 或 Nginx Lua 缓存 四级缓存:静态资源CDN缓存 页面静态化 本文主要分享 Nginx Lua 缓存配置开发 鉴于 Nginx Proxy Cache 缓存的劣势,在生产项目…...

lua的GC

关于lua的gc云风大佬在 Lua GC 的源码剖析 系列文章中讲得很清楚&#xff0c;这里做一下简单的记录。 分步gc lua使用的是一种三色标记清除算法&#xff08;tri-color incremental mark & sweep&#xff09;&#xff0c;大体步骤如下&#xff1a; 初始阶段&#xff0c;所…...

别再只盯着wx.login了!SpringBoot后端实战:用getPhoneNumber接口搞定小程序用户手机号绑定

微信小程序用户手机号绑定&#xff1a;SpringBoot后端深度实践指南 在当今移动互联网生态中&#xff0c;微信小程序已成为连接用户与服务的重要桥梁。对于需要强实名认证或直接触达用户的业务场景&#xff08;如电商交易、金融服务、政务办理等&#xff09;&#xff0c;仅依赖w…...

3DS游戏格式转换神器:5分钟让.3ds文件变身为可安装的CIA

3DS游戏格式转换神器&#xff1a;5分钟让.3ds文件变身为可安装的CIA 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 还在为…...

深部空间专属孪生,打造密闭硐室独有不可替代透明体系技术白皮书

深部空间专属孪生&#xff0c;打造密闭硐室独有不可替代透明体系技术白皮书副标题&#xff1a;井下专用暗光算法实现三维实时重建&#xff0c;搭配地下专属无感定位、多盲区跨镜穿透追踪、身体指纹特征识别&#xff0c;场景适配独一无二&#xff0c;行业无同类对标方案前言矿山…...

线程化笔记工具:重塑深度思考与知识管理的技术实践

1. 项目概述&#xff1a;一个为线程化思考而生的笔记工具最近在折腾个人知识管理工具时&#xff0c;发现了一个挺有意思的开源项目&#xff1a;alishobeiri/thread-notebook。乍一看名字&#xff0c;可能会以为是又一个普通的Markdown笔记本应用。但深入使用后&#xff0c;我发…...

Python自动化股票分析工具:从数据采集到可视化报告全流程实战

1. 项目概述&#xff1a;一个面向个人投资者的自动化股票分析工具如果你和我一样&#xff0c;是个对A股市场有点兴趣&#xff0c;但又没时间天天盯盘的上班族&#xff0c;那你肯定也经历过这种纠结&#xff1a;早上开盘前想看看心仪的几只股票有没有什么异动&#xff0c;结果一…...

基于Stable Diffusion与LoRA技术打造个人AI头像:从原理到实战

1. 项目概述&#xff1a;当AI开始“自拍”——SelfyAI的定位与核心价值最近在AI图像生成领域&#xff0c;一个名为SelfyAI的项目引起了我的注意。它不是一个简单的文生图工具&#xff0c;而是瞄准了一个非常具体且高频的需求&#xff1a;生成高质量、风格一致的个人AI头像。简单…...

Nixtla时间序列预测库实战:从统计模型到深度学习的一站式解决方案

1. 项目概述&#xff1a;时间序列预测的“瑞士军刀”如果你正在处理销售预测、服务器负载监控或者任何与时间相关的数据预测问题&#xff0c;并且厌倦了在复杂的模型库和繁琐的预处理步骤之间反复横跳&#xff0c;那么 Nixtla 这个开源项目很可能就是你一直在找的“瑞士军刀”。…...

如何在Windows 11上让经典游戏重获新生:DDrawCompat兼容性解决方案详解

如何在Windows 11上让经典游戏重获新生&#xff1a;DDrawCompat兼容性解决方案详解 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_m…...

MQ-3与MiCS-5524气体传感器对比:从原理到实战的选型指南

1. 项目概述与核心价值在嵌入式开发、环境监测乃至一些创意DIY项目中&#xff0c;气体检测是一个常见且关键的需求。无论是为了安全预警&#xff08;如天然气泄漏&#xff09;&#xff0c;还是进行环境质量评估&#xff08;如VOC监测&#xff09;&#xff0c;选择一款合适的传感…...

FastAPI+AI应用脚手架:模块化架构与生产级实践指南

1. 项目概述&#xff1a;一个为AI应用量身定制的FastAPI脚手架如果你正在寻找一个能快速启动、结构清晰且功能强大的AI应用后端框架&#xff0c;那么fastapi-genai-boilerplate这个项目绝对值得你花时间研究。它不是一个简单的“Hello World”示例&#xff0c;而是一个面向生产…...