SpringBoot集成Redis
-
maven
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
-
配置文件
spring.redis.host=127.0.01 spring.redis.port=6379
默认可以不配置
-
代码
@Autowired private RedisTemplate redisTemplate; redisTemplate.opsForValue().set("name","zeng");
-
cmd 查询
127.0.0.1:6379> keys * 1) "\xac\xed\x00\x05t\x00\x04name"
-
乱码解决
原因:存入对象操作需要序列化
解决:1. 使用Jason序列化
-
pojo继承Serializable
-
更改默认序列化方式
//序列化 Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); jackson2JsonRedisSerializer.setObjectMapper(om); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); //key采用String方式 template.setKeySerializer(stringRedisSerializer); //hash采用String template.setHashKeySerializer(stringRedisSerializer); //hash value采用Jackson template.setHashValueSerializer(jackson2JsonRedisSerializer); //value采用jackson template.setValueSerializer(jackson2JsonRedisSerializer); /// template.afterPropertiesSet();
-