springboot集成redis

本文解析了在SpringBoot项目中集成Redis时遇到的常见错误,即使用spring-boot-starter-redis包导致的找不到jar包问题。介绍了spring-boot-starter-redis在SpringBoot 1.4.7版本后更名的背景,以及正确的依赖引入方式。

springboot集成redis时,在pom文件中引入spring-boot-starter-redis包报错,提示找不到相应的jar包,如下图:

在本地maven仓库中找了一遍,确实没有这个jar包,以为是没有从中央仓库下载下来,所以重新运行maven命令下载jar包并更新项目,依然报错。

网上搜下了问题,才知道,原来我项目用的spring boot是2.0以后的版本,spring-boot-starter-redis在springboot 1.4.7版本后,

改为了spring-boot-starter-data-redis,所以如果想集成redis,应该引用spring-boot-starter-data-redis。

如果就是想用前者,那么就应该加上版本号。

在 Spring Boot 项目中集成 Redis 数据库,主要涉及以下几个步骤:引入依赖、配置 Redis 连接信息、使用 `RedisTemplate` 或 `StringRedisTemplate` 来操作 Redis 数据库。 ### 引入 Redis 依赖 在 `pom.xml` 文件中添加以下依赖以集成 Redis: ```xml <!-- Redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- 连接池依赖 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> ``` 这些依赖项将帮助封装与 Redis 交互的底层操作,并提供连接池功能以优化与 Redis 的连接管理,提高性能[^1]。 ### 配置 Redis 连接 在 `application.properties` 或 `application.yml` 文件中配置 Redis 的连接信息。以下是 `application.properties` 的示例配置: ```properties # Redis 配置 spring.redis.host=localhost spring.redis.port=6379 spring.redis.lettuce.pool.max-active=8 spring.redis.lettuce.pool.max-idle=8 spring.redis.lettuce.pool.min-idle=2 spring.redis.lettuce.pool.max-wait=2000ms ``` 如果使用 `application.yml`,则配置如下: ```yaml spring: redis: host: localhost port: 6379 lettuce: pool: max-active: 8 max-idle: 8 min-idle: 2 max-wait: 2000ms ``` 这些配置项用于指定 Redis 服务器的地址、端口以及连接池的相关参数。 ### 使用 RedisTemplate 操作 Redis 在 Spring Boot 应用程序中,可以通过注入 `RedisTemplate` 来操作 Redis 数据库。下面是一个简单的示例,展示如何使用 `RedisTemplate` 设置和获取数据: ```java import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @Service public class RedisService { private final RedisTemplate<String, Object> redisTemplate; public RedisService(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } public void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object get(String key) { return redisTemplate.opsForValue().get(key); } } ``` 在这个示例中,`RedisTemplate` 被用来执行基本的键值对操作。`opsForValue()` 方法返回一个 `ValueOperations` 对象,可以用来设置和获取字符串类型的值。 ### 分布式会话场景(Redis-Session) 对于需要支持分布式会话的应用程序,可以利用 Spring Session 提供的功能,通过 Redis 来存储会话信息。这通常涉及到额外的配置和依赖项,但可以极大地简化跨多个服务实例的会话管理。 通过以上步骤,可以在 Spring Boot 项目中成功集成 Redis 数据库,并利用其提供的高性能数据访问能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值