SpringBoot-项目引入Redis依赖

在使用Spring Boot开发应用时,可以使用Redis来实现缓存、分布式锁等功能。在编写业务逻辑代码时,可以通过注入RedisTemplate或StringRedisTemplate对象来操作Redis,如存取数据、设置过期时间、删除数据等。同时,还可以使用Redis的发布订阅机制,通过监听器监听消息,实现消息的发布和订阅功能。本文介绍如何在IDEA里将SpringBoot整合Redis。

一、创建SpringBoot项目

创建SpringBoot项目时勾选 Spring Data Redis (Access + Driver),项目创建时会自动导入所需的redis的配置项和包。创建SpringBoot-MyBatis的流程可以参考我的上一篇文章:IntelliJ IDEA搭建SpringBoot-Mybatis项目icon-default.png?t=N7T8https://blog.csdn.net/weixin_41793160/article/details/135363107

和上个项目不同的地方,额外勾选这个:


二、安装启动Redis服务

Redis是一种开源的高性能内存数据库,常用于缓存、消息传递、排行榜和实时统计等应用场景。在Windows系统下安装Redis,可以让开发者更方便地在本地进行开发和测试。首先需要下载最新的Redis安装包,然后解压到指定目录,配置Redis的配置文件,最后启动Redis服务即可。也可以将Redis服务注册为Windows服务,以便在系统启动时自动启动Redis服务。

1、GitHub上下载Redis

下载地址:github.com/tporadowski/redis/releases

 

2、解压到安装目录

把下载的Redis压缩包解压到安装目录。

3、启动Redis服务端

双击redis-server.exe,启动Redis服务端。

4、启动Redis客户端

双击redis-cli.exe,启动Redis客户端。
可以输入ping回车,测试是否连接成功,返回pong则为成功。

5、设置Redis密码

redis.windows-service.conf 里增加一行 requirepass ******,******的内容是密码

6、设置Redis默认启动

将Redis注册为服务,默认启动。

# 切换到Redis安装目录下
cd /dD:/Redis
# 安装Redis为Windows服务
redis-server --service-install redis.windows.conf  --loglevel verbose

 我们再到服务里看,Redis服务已经启动了。


三、编写Reids工具类及调用代码

1、创建RedisUtil工具类

创建访问Redis服务的工具类,命名为RedisUtil.java。

package com.util;import org.springframework.stereotype.Component;
import org.springframework.data.redis.core.RedisTemplate;import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;@Component
public class RedisUtil {@Resourceprivate RedisTemplate<String, Object> redisTemplate;/*** 设置缓存** @param key    缓存key* @param value  缓存value* @param expire 过期时间(单位:秒),传入-1表示永不过期*/public void set(String key, Object value, long expire) {redisTemplate.opsForValue().set(key, value);if (expire != -1) {redisTemplate.expire(key, expire, TimeUnit.SECONDS);}}/*** 获取缓存** @param key 缓存key* @return 缓存value*/public Object get(String key) {return redisTemplate.opsForValue().get(key);}/*** 判断缓存是否存在** @param key 缓存key* @return true:存在,false:不存在*/public boolean hasKey(String key) {return redisTemplate.hasKey(key);}/*** 删除缓存** @param key 缓存key*/public void delete(String key) {redisTemplate.delete(key);}
}

2、编写调用Reids工具类的代码

我们新增一个测试接口,通过浏览器访问localhost:8080/redis可以访问到。在UserController里添加代码:

@RequestMapping("redis")public String getRedis(HttpServletRequest request)throws Exception{redisUtil.set("key", "value", 300); //设置key为value,有效期为300秒return redisUtil.get("key").toString();}

目前完整的UserController.java代码:

package com.controller;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;import com.util.RedisUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.User;
import com.service.UserService;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;@RestController
public class UserController {@Resourceprivate UserService userService;@Resourceprivate RedisUtil redisUtil;@RequestMapping("user")public String getTotal(User user,HttpServletRequest request)throws Exception{Map<String,Object> map = new HashMap<>();Long userCount =userService.getTotal(map);return userCount.toString();}@RequestMapping("redis")public String getRedis(HttpServletRequest request)throws Exception{redisUtil.set("key", "value", 300); //设置key为value,有效期为300秒return redisUtil.get("key").toString();}
}

四、测试项目Redis是否正常运行

我们在UserController里把<Key=”key”, Value=”value”>的键值对存入了Redis,然后读取Key为”key”的Value值。

成功运行,返回了正确的Value值。

后面我们就可以根据实际情况在SpringBoot项目里编写调用redis数据库的代码了。

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

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

相关文章

MacOS14系统中Topaz Photo AI无法启动解决方法

MacOS14系统&#xff0c;在使用Topaz Photo AI是时无法启动&#xff0c;或者在 Mac电脑上导入图像后&#xff0c;Topaz Photo AI 应用程序窗口可能会冻结&#xff0c;怎么解决呢&#xff1f; 退出Topaz Photo AI for mac软件 回到电脑桌面&#xff0c;点击菜单栏前往-前往文件…

Java SE面试

1.什么是 Java&#xff1f; Java 是一门面向对象的编程语言&#xff0c;不仅吸收了 C语言的各种优点&#xff0c;还摒弃了 C里难以理解的多继承、指针等概念&#xff0c;因此 Java 语言具有功能强大和简单易用两个特征。Java 语言作为静态面向对象编程语言的优秀代表&#xff…

SpringSecurity深度学习

SpringSecurity简介 spring Security是什么&#xff1f; Spring Security 是一个强大且高度可定制的身份验证和访问控制框架&#xff0c;用于保护基于Spring的应用程序。它是Spring项目的一部分&#xff0c;旨在为企业级系统提供全面的安全性解决方案。 一个简单的授权和校验…

【算法每日一练]-图论(保姆级教程篇14 )#会议(模板题) #医院设置 #虫洞 #无序字母对 #旅行计划 #最优贸易

目录 今日知识点&#xff1a; 求数的重心先dfs出d[1]和cnt[i]&#xff0c;然后从1进行dp求解所有d[i] 两两点配对的建图方式&#xff0c;检查是否有环 无向图欧拉路径路径输出 topodp求以i为终点的游览城市数 建立分层图转化盈利问题成求最长路 会议&#xff08;模板题&a…

动态路由OSPF实验配置

查看接口配置display ip interface brief <AR1>display ip interface brief *down: administratively down ^down: standby (l): loopback (s): spoofing The number of interface that is UP in Physical is 4 The number of interface that is DOWN in Physical …

【Docker】配置阿里云镜像加速器

默认情况下&#xff0c;将来从docker hub &#xff08;https://hub.docker.com )上下载镜像太慢&#xff0c;所以一般配置镜像加速器。 没有账号的注册一个账号并登录 登录之后点击控制台 查看 cat /etc/docker/daemon.json

7-35 有理数均值 分数 20

每日一言 我们把世界看错&#xff0c;反说它欺骗了我们。 --飞鸟集 题目 本题要求编写程序&#xff0c;计算N个有理数的平均值。 输入格式&#xff1a; 输入第一行给出正整数N&#xff08;≤100&#xff09;&#xff1b;第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的…

【STM32】STM32学习笔记-TIM输出比较(15)

00. 目录 文章目录 00. 目录01. 输出比较简介02. PWM简介03. 输出比较通道(高级)04. 输出比较通道(通用)05. 输出比较模式06. PWM基本结构07. PWM参数计算08. 舵机简介09. 舵机硬件电路10. 直流电机及驱动简介11. 直流电机硬件电路12. 附录 01. 输出比较简介 OC&#xff08;Ou…

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…

蓝桥杯备赛系列 高精度 acwing版

前言 hello&#xff0c;好久不见。元旦玩过后该收心了&#xff0c;我也倒计时一下蓝桥杯考试时间&#xff0c;大家一起复习&#xff0c;一起登顶。今天讲解高精度算法。 这个算法其实是给学c同学讲的&#xff0c;因为python自带高精度所以不需要&#xff0c;且我讲到所有内容…

Wrk压测发送Post请求的正确姿势

一、Wrk简介 wrk 是一个能够在单个多核 CPU 上产生显著负载的现代 HTTP 基准测试工具。它采用了多线程设计&#xff0c;并使用了像 epoll 和 kqueue 这样的可扩展事件通知机制。此外&#xff0c;用户可以指定 LuaJIT 脚本来完成 HTTP 请求生成、响应处理和自定义报告等功能。 …

频率域滤波图像复原之逆滤波的python实现——数字图像处理

逆滤波原理 逆滤波是一种在频率域进行的图像复原技术&#xff0c;常用于修复由运动模糊等因素引起的图像退化。具体步骤如下&#xff1a; **频率域表示&#xff1a;**首先&#xff0c;将退化的图像通过傅里叶变换从空间域转换到频率域。这使得图像的频率成分变得明显&#xf…