springboot项目中配置redis

当在 Java 项目中使用 Redis 时,特别是在 Spring Boot 项目中使用 Redis,下面是一个详细的教程,涵盖了 Redis 的配置和使用。

在 Spring Boot 项目中配置和使用 Redis

步骤 1:添加 Redis 依赖

在你的 Spring Boot 项目的 pom.xml 文件中,添加 Redis 相关的依赖项:

<dependencies><!-- 其他依赖项 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
</dependencies>

这将添加 Spring Boot Redis Starter 依赖项,以便在项目中使用 Redis。

步骤 2:配置 Redis 连接信息

在 Spring Boot 项目中,可以通过在 application.propertiesapplication.yml 文件中配置 Redis 连接信息。

使用 application.properties 配置文件:

application.properties 文件中添加以下配置:

# Redis 连接信息
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=your_password

使用 application.yml 配置文件:

application.yml 文件中添加以下配置:

# Redis 连接信息
spring:redis:host: 127.0.0.1port: 6379password: your_password

请确保将上述配置中的 your_password 替换为你实际的 Redis 密码。如果 Redis 服务器没有设置密码,则可以省略 spring.redis.password 配置。

步骤 3:创建 Redis 配置类

创建一个名为 RedisConfig 的配置类,用于配置 RedisTemplate 和连接工厂。

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
public class RedisConfig {// 从配置文件中读取Redis主机信息@Value("${spring.redis.host}")private String redisHost;// 从配置文件中读取Redis端口信息@Value("${spring.redis.port}")private int redisPort;// 配置Redis连接工厂@Beanpublic RedisConnectionFactory redisConnectionFactory() {// 创建Redis的单机配置RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(redisHost, redisPort);// 返回Lettuce连接工厂return new LettuceConnectionFactory(config);}// 配置RedisTemplate@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {// 创建RedisTemplate实例RedisTemplate<String, Object> template = new RedisTemplate<>();// 设置连接工厂template.setConnectionFactory(connectionFactory);// 设置默认的序列化器为GenericJackson2JsonRedisSerializer,用于序列化键和值为JSON格式template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());// 设置键的序列化器为StringRedisSerializertemplate.setKeySerializer(new StringRedisSerializer());// 设置值的序列化器为GenericJackson2JsonRedisSerializertemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());// 返回配置好的RedisTemplate实例return template;}
}

上述配置类使用 Lettuce 作为 Redis 连接工厂,并配置了 RedisTemplate,使用 JSON 序列化器来序列化键和值。

步骤 4:使用 RedisTemplate 进行操作

在你的代码中,你可以使用 RedisTemplate 进行各种操作,如存储键值对、获取值、删除键等。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;@Service
public class MyService {private final RedisTemplate<String, Object> redisTemplate;@Autowiredpublic MyService(RedisTemplate<String, Object> redisTemplate) {this.redisTemplate = redisTemplate;}public void setValue(String key, Object value) {// 使用RedisTemplate的opsForValue()方法获取ValueOperations接口实例,然后调用set()方法存储键值对redisTemplate.opsForValue().set(key, value);}public Object getValue(String key) {// 使用RedisTemplate的opsForValue()方法获取ValueOperations接口实例,然后调用get()方法根据键获取值return redisTemplate.opsForValue().get(key);}public void deleteKey(String key) {// 调用RedisTemplate的delete()方法根据键删除对应的键值对redisTemplate.delete(key);}
}

上述示例代码展示了一个名为 MyService 的服务类,它使用 RedisTemplate 进行键值对的存储、获取和删除操作。

请确保在你的代码中使用适当的注解(如 @Service@Autowired 等)来注入 RedisTemplate 实例并进行相应的操作。

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

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

相关文章

运用谱分解定理反求实对称矩阵

文章目录 谱分解定理定理的运用 谱分解定理 设三阶实对称矩阵 A A A&#xff0c;若矩阵 A A A 的特征值为 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1​,λ2​,λ3​&#xff0c;对应的单位化特征向量分别为 α 1 , α 2 , α 3 \alpha_1,\alpha_2,\alpha_3 α…

PHP中header()的七种用法

我们在实际开发中经常使用header()实现一些功能&#xff0c;这篇文章介绍关于header()的7中用法&#xff0c;需要的伙伴的开参考一下。 PHP header()的7中用法&#xff1a; 1、跳转页面 可以使用header()实现跳转页面功能。 header(Location:.$url); // $url 跳转页面的地址…

解密数据分析:提升企业竞争力的关键一步

在当今数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。数据分析作为一项强大的工具&#xff0c;对企业来说已经不再是可选项&#xff0c;而是一项必不可少的战略性举措。为什么企业要做数据分析&#xff1f;让我们深入探讨这个问题。 提升决策质量&#xff1a; 数据…

TiDB Serverless Branching:通过数据库分支简化应用开发流程

2023 年 7 月 10 日&#xff0c;TiDB Serverless 正式商用。这是一个完全托管的数据库服务平台&#xff08;DBaaS&#xff09;&#xff0c;提供灵活的集群配置和基于用量的付费模式。紧随其后&#xff0c;TiDB Serverless Branching 的测试版也发布了。 TiDB Serverless Branc…

1688拍立淘接口 按图搜索1688商品列表

item_get-获得1688商品详情 1688.item_get接入测试 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item…

《C和指针》笔记17:sizeof

sizeof操作符判断它的操作数的类型长度&#xff0c;以字节为单位表示。 操作数既可以是个表达式&#xff08;常常是单个变量&#xff09;&#xff0c; sizeof x上面的式子返回变量x所占据的字节数。 也可以是两边加上括号的类型名。 sizeof(int)上面的式子返回整型变量的字…

go读取yaml,json,ini等配置文件

实际项目中&#xff0c;要读取一些json等配置文件。今天就来说一说&#xff0c;Golang 是如何读取YAML,JSON,INI等配置文件的。 一. go读取json配置文件 JSON 应该比较熟悉&#xff0c;它是一种轻量级的数据交换格式。层次结构简洁清晰 &#xff0c;易于阅读和编写&#xff0…

高性能JavaScript

管理浏览器中的JavaScript代码是个棘手的问题&#xff0c;因为代码执行阻塞了其他浏览器处理过程&#xff0c;注入用户界面回执。每次遇到 < script > 便签&#xff0c;页面必须停下来等待代码下载&#xff08;如果是外部的&#xff09;并执行&#xff0c;然后再继续处理…

基于战争策略算法优化的BP神经网络(预测应用) - 附代码

基于战争策略算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于战争策略算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.战争策略优化BP神经网络2.1 BP神经网络参数设置2.2 战争策略算法应用 4.测试结果&#xff1a;5…

【Centos8_配置单节点伪分布式Spark环境】

安装centos8 jdk部署伪分布式spark环境 安装Centos8 环境下的JDK 下载jdk linux版本 下载链接&#xff1a; jdk-8u381-linux-x64.tar.gz 将该文件上传到Centos8 主机 部署配置jdk&#xff08;java8&#xff09; # 解压到指定路径 [lhangtigerkeen Downloads]$ sudo tar …

【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER

文章目录 前言SPEED_BOUNDS_PRIORI_DECIDER功能简介SPEED_BOUNDS_PRIORI_DECIDER相关配置SPEED_BOUNDS_PRIORI_DECIDER流程将障碍物映射到ST图中ComputeSTBoundary(PathDecision* path_decision)ComputeSTBoundary(Obstacle* obstacle)GetOverlapBoundaryPointsComputeSTBounda…

Docker搭建私有仓库并迁移

目录 方案 A、B机器安装docker 设置阿里云镜像源 安装 Docker-CE并设置为开机自动启动 A机器准备数据 拷贝数据 B机器运行redis、mysql镜像 重启docker服务 方案 准备两台机器&#xff1a;A机器&#xff08;可以连接外网&#xff09;&#xff0c;B机器&#xff08;内网机器…

图床项目进度(二)——动态酷炫首页

前言&#xff1a; 前面的文章我不是说我简单copy了站友的一个登录页吗&#xff0c;我感觉还是太单调了&#xff0c;想加一个好看的背景。 但是我前端的水平哪里够啊&#xff0c;于是在网上找了找制作动态背景的插件。 效果如下图。 如何使用 这个插件是particles.js 安装…

使用图集SpriteAtlas时,根据其中的Sprite,给 RawImage 设置 texture 的两种方法

当使用图集 SpriteAtlas 时&#xff0c; 从中获取的 Sprite 的 texture 是图集中整张图片&#xff0c;为了给 RawImage 设置 Texture&#xff0c;有两种方式&#xff1a; 方式1&#xff1a;使用以下扩展函数&#xff0c;其原理是给 RawImage 设置整张纹理&#xff0c;然后设置…

C语言入门篇(九)

前言   本篇分享的是部分操作符的概念与用法&#xff0c;从经典例题入手&#xff0c;带你快速了解和掌握。   收录专栏&#xff1a;浅谈C语言 操作符详解下 10. 逗号表达式11. 下标引用、函数调用和结构成员12. 表达式求值12.1 隐士类型转换12.2 算术转换12.3 操作符的属性…

多项式求逆

已知 F F F&#xff0c;求 G G G 考虑倍增 F ( x ) ∗ H ( x ) ≡ 1 ( m o d x n / 2 ) F(x) * H(x) \equiv 1 \pmod{x^{n/2}} F(x)∗H(x)≡1(modxn/2) F ( x ) ∗ G ( x ) ≡ 1 ( m o d x n / 2 ) F(x) * G(x) \equiv 1 \pmod{x^{n/2}} F(x)∗G(x)≡1(modxn/2) 假设 H H…

最大子数组和【贪心算法】

最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 class Solution {public int maxSubArray(int[] nums) {//记录最大结果&…

Linux土遁术之监测监测进程打开文件

分析问题过程中&#xff0c;追踪进程打开的文件可以在许多不同情况下有用&#xff0c;体现在以下几个方面&#xff1a; 故障排除和调试&#xff1a; 当程序出现问题、崩溃或异常行为时&#xff0c;追踪进程打开的文件可以帮助您找出问题的根本原因。这有助于快速定位错误&…

基于Spring Boot的住院病人管理系统设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的住院病人管理系统设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java spring…

前列腺小体外泄蛋白(PSEP)——博迈伦

前列腺小体外泄蛋白&#xff08;Prostate-specific extracellular vesicle protein&#xff0c;简称PSEP&#xff09;是一种在前列腺细胞分泌的小体外囊泡中出现的蛋白质。小体外泌物指的是由细胞分泌的膜包裹小体&#xff0c;其中包含多种生物活性物质&#xff0c;如蛋白质、R…