Springboot集成redis以及解决redis key乱码的问题
springboot集成redis
1、导包
<!--springboot中的redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- lettuce pool 缓存连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>2、在RedisAutoConfiguration中找到对应的RedisProperties配置
在yml中配置基本配置
spring:
redis:
host: xxxxxx 自己的ip
port: 6379
lettuce:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 03、从RedisAutoConfiguration中
看到默认配置了两个bean RedisTemplate,StringRedisTemplate 而且是基于lettuce是redis-cli客户端
获取redisTemplate进行测试即可

从这里看是测试成功的。但是我们从服务器上看对应的key,却是这个样子

怎么办?
原因:
大概是lettuce客户端连接redis服务器采用的是byte数组,因此会将对象先转化为byte数组,而转换方法是使用JdkSerializationRedisSerializer 的convert方法转换,因此需要替换到默认的redisSerializaer

4、 配置redisConfig
解决
自己配置redisConfig,不使用默认的
@Configuration
@EnableCaching
public class RedisConfig {
/**
* 配置自定义redisTemplate
* @return
*/
@Bean
RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
// 设置值(value)的序列化采用Jackson2JsonRedisSerializer。
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
// 设置键(key)的序列化采用StringRedisSerializer。
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
idea 客户端再次运行结果:

服务器 客户端运行结果:( 注意:中文内容还是会乱码)

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅谈Java finally语句到底是在return之前还是之后执行(必看篇)
下面小编就为大家带来一篇浅谈Java finally语句到底是在return之前还是之后执行(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-06-06
Springboot+Shiro+Jwt实现权限控制的项目实践
如今的互联网已经成为前后端分离的时代,所以本文在使用SpringBoot整合Shiro框架的时候会联合JWT一起搭配使用,具有一定的参考价值,感兴趣的可以了解一下2023-09-09
elasticsearch索引index之Translog数据功能分析
这篇文章主要为大家介绍了elasticsearch索引index之Translog数据功能分析,主要分析translog的结构及写入方式,有需要的朋友可以借鉴参考下2022-04-04


最新评论