1.当我们的springboot集成了redis,然后通过springboot程序往redis设置信息,做缓存使用,如果没有使用序列化的时候,也是可以set进去的,不过是这样子的
库里的值:

value信息:

看到的都是这样子的,为什么是这样子呢?大白话说,就是你放在程序里的话,翻译完,咱们看不懂了,作为程序员,我们叫做这个值没有做系列化设置,导致编译完,计算机以自己的形式保存,取值是能取出来的,但是看着就是不爽,那么下面我来做序列号设置,以及一些缓存的设置,配置信息如下:
@Configuration
public class RedisCacheConfig {
@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate);
return redisCacheManager;
}
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
RedisTemplate redisTemplate = new RedisTemplate();
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setValueSerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
return redisTemplate;
}
}这时候发现报错:

点开一看,什么鬼,我之前都是这样配置的,怎么不行呢?一看源码,哦,原来没有这个方法了,仔细想想,是因为这个方法适合springboot的1.X版本,而在2.X版本这个方法取消了,那么就用这个方法了,结果如下:
@Configuration
public class RedisCacheConfig {
@Bean
public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
// 设置缓存有效期一小时
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofHours(1));
return RedisCacheManager.builder(RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory)).cacheDefaults(redisCacheConfiguration).build();
}
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
RedisTemplate redisTemplate = new RedisTemplate();
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setValueSerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
return redisTemplate;
}
}这样配置就好了,重新试试,结果如下:

这样看着舒服多了,好了就是简单的配置,有问题多多沟通,谢谢大家!
版权声明:本文为pingchangmile原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。