一、导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、配置RedisTemplate
@Bean("myRedisTemplate")
public RedisTemplate<Object,Object> restTemplate(RedisConnectionFactory factory){
RedisTemplate<Object,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
serializer.setObjectMapper(objectMapper);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(serializer);
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(serializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
这里说明一下,默认的RedisTemplate序列化的时候用的是jdk默认序列化,调用方法存储的时候在可视化工具里是乱码。不方便查看,这里使用Jackson进行序列化
三、方法
@Test
void contextLoads() {
ValueOperations operations = redisTemplate.opsForValue();
HashOperations hashOperations = redisTemplate.opsForHash();
ListOperations listOperations = redisTemplate.opsForList();
SetOperations setOperations = redisTemplate.opsForSet();
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
operations.set("test","123");
operations.set("user:123",new User("1","小李","24"));
hashOperations.put("h1","a","111");
hashOperations.put("h1","b","222");
hashOperations.put("h1","c","333");
listOperations.leftPush("a","bb");
listOperations.rightPush("a","cc");
setOperations.add("b","cc","dd","ee");
zSetOperations.add("zset","1",50);
zSetOperations.add("zset","2",80);
}
使用jackson序列化后可以直接可视化看到数据
四、客户端连接工具
推荐一款客户端连接工具
https://gitee.com/qishibo/AnotherRedisDesktopManager/