redis系列之踩坑:\xAC\xED\x00\x05t\x00\x08乱码问题

> 插: AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

坚持不懈,越努力越幸运,大家一起学习鸭~~~

问题:

在SpringBoot中使用RedisTemplate操作redis时,会出现\xAC\xED\x00\x05t\x00\x08这种乱码问题,特别是在使用中文时。

原因分析:

原因是因为RedisTemplate中key和value的序列化方式都默认使用了jdk的序列化方式,含有中文时就会出现乱码。想要解决乱码问题我们只需要将key和value的序列化方式分别修改为字符串和json的形式即可。

我们增加一个RedisConfig类,用来对RedisTemplate的序列化方式进行修改:

复制代码
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);

        // 设置key的序列化规则和value的序列化规则
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }

}

问题解决,可以写几个单元测试方法测试一下。

相关推荐
SunnyDays1011几秒前
Java 高效 TXT 转 Word 指南:单文件、批量及格式美化操作
java·txt转word·文本文件转word·文本转word
不急不躁1233 分钟前
Android16 跳过GMS测试项
android·java
oioihoii5 分钟前
C++多线程中join与detach机制深度解析
java·jvm·c++
雨中飘荡的记忆7 分钟前
深入理解 Guava EventBus:让你的系统解耦更优雅
java·后端
uup8 分钟前
方法参数的 “值传递骗局”:修改引用参数为何不改变原对象?
java
TAEHENGV9 分钟前
外观设置模块 Cordova 与 OpenHarmony 混合开发实战
java·运维·服务器
Vic1010112 分钟前
Spring AOP 高级陷阱:为什么 @Before 修改参数是“伪修改“?
java·python·spring
Violet_YSWY18 分钟前
domain文件夹
java
最贪吃的虎18 分钟前
JVM扫盲:内存模型
java·运维·jvm·后端
weixin_4397062518 分钟前
如何使用JAVA进行MCP服务创建以及通过大模型进行调用
java·开发语言