private boolean enableDefaultSerializer = true; private RedisSerializer<?> defaultSerializer = new JdkSerializationRedisSerializer(); private RedisSerializer keySerializer = null; private RedisSerializer valueSerializer = null; private RedisSerializer hashKeySerializer = null; private RedisSerializer hashValueSerializer = null;
解决方法redis
private RedisTemplate redisTemplate; @Autowired(required = false) public void setRedisTemplate(RedisTemplate redisTemplate) { RedisSerializer stringSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setHashValueSerializer(stringSerializer); this.redisTemplate = redisTemplate; }
凡是用到存到redis的数据,都须要序列化,若是用redis默认的序列化类,会致使存到redis数据库的数据可读性不太好,就是上面第一图,实际读取出来的数据与存进去的是同样的,只是直接访问redis会发现好像乱码的样子,可读性很差。那么,实际上是能够使用其余类序列化redis的key和value的。spring