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;
    }

}

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

相关推荐
TDengine (老段)17 分钟前
TDengine 免费版说明
java·大数据·数据库·物联网·时序数据库·tdengine
码上有光21 分钟前
异常和智能指针
java·大数据·c++·servlet·异常·智能指针
吴声子夜歌29 分钟前
MongoDB 4.x——SpringBoot框架整合
数据库·spring boot·mongodb
snow@li39 分钟前
Spring Boot:项目服务器完整部署教程(零基础可直接实操)
服务器·spring boot·后端
学计算机的计算基1 小时前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
流星白龙1 小时前
【Redis】1.Redis特性
数据库·redis·缓存
tachibana21 小时前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
万亿少女的梦1682 小时前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
咩咩啃树皮10 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚10 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot