一、问题起因:
我在对redis进行存储数据的时候,存储到redis里面的数据为这样的
这里我并没有理会,然后我再获取其中的一个值的时候,在redis的客户端进行操作的时候能获取到里面的值
然后再用java的方式进行获取,发现一直返回Nul,表示很无语
@Test
public void createOfficialLetter() {
boolean officialLetter = generateProjectPdfService.createOfficialLetter("2021101711570004100");
Assert.assertTrue(officialLetter);
}
刚开始一直以为是redis库连接错了,但是仔细核对后发现确实是当前的库,并没有错。
这个时候只能猜到传的key确实在redis中不存在,但是我是从库中复制过来的key,不可能不存在,那么只有一种情况,就是乱码 了。然后对其进行解决
二、问题解决
package com.dfec.project.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.Redistemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* @program: rf-project
* @description: Redis配置
* @author: trg
* @create: 2021-10-19 16:14
*/
@Configuration
public class RedisConfigurtion {
@Autowired
private Redistemplate redistemplate;
/**
* 解决Redis乱码
*
* @return
*/
@Bean
public Redistemplate<String, Object> stringSerializerRedistemplate() {
RedisSerializer<String> stringSerializer = new StringRedisSerializer();
redistemplate.setKeySerializer(stringSerializer);
redistemplate.setValueSerializer(stringSerializer);
redistemplate.setHashKeySerializer(stringSerializer);
redistemplate.setHashValueSerializer(stringSerializer);
return redistemplate;
}
}
再运行代码,则返回了结果。
三、总结
如果我们对整个流程做完了检查,坚信自己的操作流程是对的,那么就是框架在作祟。这也就需要我们对框架有一个更深层次的认识了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。