前言
在使用Java操作Redis时,如果不对Redis进行序列化操作,可能会导致存储的key和value与原来的数据不一致的问题
本文也借此机会来详细讲解一下SpringBoot中配置序列化Redis的步骤
展示包结构
在SpringBoot中配置Redis
步骤:
- 导入maven依赖
- 编写配置文件
- 编写配置类注入ReidsTemplate
- 使用测试
- 导入maven坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.7.3</version>
</dependency>
- 编写配置文件
#还有密码等配置,需要可自行添加
spring:
redis:
host: localhost
port: 6379
- 编写redisconfiguration类注入redisTemplate的Bean
@Configuration
public class RedisConfiguration {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(redisConnectionFactory);
//我这里设置了键和值的序列化器,其余的都是一样的set...Serializer()
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
这一步完成后,可以选择将这个RedisTemplate封装成一个工具类,也可以在使用的时候使用@Autowired注解注入
测试
我在测试类里面测试,大家可以自行测试哦
@SpringBootTest
class SpringbootRedisTestApplicationTests {
@Autowired
private RedisTemplate redisTemplate;
@Test
void redisTest(){
redisTemplate.opsForValue().set("name", "zhangsan");
System.out.println(redisTemplate.opsForValue().get("name"));
}
可以看到结果返回出来的,然后我们再到redis客户端去查看,也可以看到输出是正常的
总结
再SpringBoot中配置redis就是这几步啦,我们想让Redis正常存储,就需要使用序列化,再配置RedisTemplate对象时设置序列化就可以了~