springboot整合redis,用spring-data-redis2.0的同时用jedis

本文介绍了在SpringBoot 2.0中如何整合Redis并使用Jedis,详细讲解了由于版本更新导致的变化,如默认使用Lettuce、JedisConnectionFactory的过时方法等。提供了pom.xml、application.yml和相关配置类的代码示例,特别指出在使用连接池后timeout配置无效,以及推荐使用JedisPoolConfig进行pool配置,同时推荐使用StringRedisSerializer和Jackson2JsonRedisSerializer作为序列化工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最新版本的spring-data-redis很烦,很多以前用起来很方便的方法过时了。下面是2.0这个版本的搭建过程:

首先要了解这个版本

        (1)spring-data-redis是默认是用lettuce的,要用jedis需要单独出来配置

 

        (2)JedisConnectionFactory的所有set方法全部过时。

        (3)基本配置(host,port...)用redisstandaloneconfiguration,poo连接池这样的配置用jedispoolconfig

        (4)有自带的序列化类的,不需要自定义了

下面就贴出代码,注意这仅适用于jedis,如果不用jedis,用lettuce基本上啥也不用配置

pom.xml

 

<!-- 添加jedis客户端 -->

 

 

<dependency>

 

 

    <groupId>redis.clients</groupId>

 

 

    <artifactId>jedis</artifactId>

 

 

</dependency>

 

 

 

<!--redis-->

 

 

 

<dependency>

 

 

 

    <groupId>org.springframework.boot</groupId>

&n

对于Spring Cloud中Spring Boot与Redis集成的情况,特别是涉及到队列设置时,你提到的是`spring-boot-starter-data-redis`用于连接Redis 2.x,但你提到项目使用的Spring Boot版本较低(1.8),并且由于兼容性限制无法直接使用用户名密码进行身份验证。 如果你想要在Spring Boot应用中使用Spring Data Redis来管理Redis队列,并添加用户名密码支持,你可能需要采取以下步骤: 1. **自定义配置**[^1]: - 定制Spring Boot的自动配置类以覆盖默认行为。这通常涉及重写或扩展内置的`RedisConnectionFactory`创建器,添加对用户名/密码的支持。例如,你可以尝试修改`JedisConnectionFactory`的构造函数来接受并传递这些凭据。 ```java @Configuration public class CustomRedisConfig { @Bean public JedisConnectionFactory jedisConnectionFactory(RedisProperties properties) { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setHostName(properties.getHost()); factory.setPort(Integer.parseInt(properties.getPort().toString())); if (StringUtils.hasText(properties.getPassword())) { factory.setPassword(properties.getPassword()); } // ...其他配置 return factory; } } ``` 2. **启用密码保护**: - 如果Redis服务器确实需要密码保护,确保在Redis服务器上已经启用了密码认证,并将密码配置到Spring Boot的`application.properties`或`application.yml`文件中。 ```properties spring.redis.password=test@123 ``` 3. **注意版本兼容性**: - 考虑将Spring Boot和Spring Data Redis升级到更高版本,以便更好地支持Redis 2.x和更现代的功能,尽管这可能会导致其他依赖项也需要更新。 4. **测试队列操作**: - 使用自定义配置后的RedisTemplate或Jedis实例来操作Redis队列,如`ListOperations`或`Lpush`、`Rpop`等命令。 记得在实际部署之前进行全面的测试,以确保新的配置能够正常工作。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值