1.引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.代码测试
(1)StringRedistemplate
@SpringBootTest
class YpbApplicationTests2 {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
void contextLoads() {
ValueOperations<String,String> ops=stringRedisTemplate.opsForValue();
//ops.set("k1","springboot-v1");
//System.out.println(ops.get("k1"));
Boolean aBoolean=ops.setIfAbsent("k2","dadad");
System.out.println(aBoolean);
Map<String,String> map=new HashMap<>();
map.put("name","张三");
map.put("age","18");
map.put("name","李四");
ops.multiSet(map);
System.out.println(stringRedisTemplate.keys("*"));
HashOperations<String,Object,Object> hash=stringRedisTemplate.opsForHash();
hash.put("k1","name","李磊");
hash.put("k1","age","18");
Object o=hash.get("k1","name");
System.out.println(hash.keys("k1"));
System.out.println(hash.values("k1"));
System.out.println(o);
System.out.println(hash.entries("k1"));
}
}
(2)RedisTemplate
key和value可以存放Object类型,那么它的key和value默认采用的序列化方式为JDK序列化方式。
所以一般我们需要为key和value指定序列化方式。
redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
@Autowired
private RedisTemplate redisTemplate;
@Test
void contextLoads() {
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
HashOperations hash=redisTemplate.opsForHash();
hash.put("u","n","小明");
hash.put("u","a","25");
}
@Test
void contextLoads2(){
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
ValueOperations valueOperations=redisTemplate.opsForValue();
valueOperations.set("k4",new User("小红",18));
Object k4=valueOperations.get("k4");
System.out.println(k4);
}