700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00

SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00

时间:2022-07-20 10:33:35

相关推荐

SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00

SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00

SpringBoot集成Redis解决乱码问题

问题概述

使用redisTemplate.opsForValue().setset(K key, V value, long timeout, TimeUnit unit)方法存入Redis数据时,产生乱码如下图。

产生原因

这是因为Reids默认把存入key和value的值序列化成byte[]格式。

解决方式

在SpringBoot扫描路径下新建配置类RedisTemplateBeanPostProcessor实现BeanPostProcessor接口

package pany.config;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.StringRedisSerializer;@Configurationpublic class RedisTemplateBeanPostProcessor implements BeanPostProcessor {@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if(RedisTemplate.class.isAssignableFrom(bean.getClass())) {RedisTemplate redisTemplate = (RedisTemplate)bean;StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();redisTemplate.setKeySerializer(stringRedisSerializer);redisTemplate.setValueSerializer(stringRedisSerializer);}return bean;}}

效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。