引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
基本配置
spring.redis.host=ip
spring.redis.password=pwd
spring.redis.port=port
配置一个json序列化
/**
* @author AnQi
* @date 2020/3/15 16 16:32
* @description
*/
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<Object,Object> jsonRedisTemplate(
RedisConnectionFactory redisConnectionFactory)throws UnexpectedException{
RedisTemplate<Object,Object> template = new RedisTemplate<>();
template.setDefaultSerializer(new Jackson2JsonRedisSerializer(Object.class));
template.setConnectionFactory(redisConnectionFactory);
return template;
}
}
实体类序列化
测试
@SpringBootTest
class SpringBoot13CacheApplicationTests {
//复杂类型 User
@Autowired
RedisTemplate redisTemplate;
//针对的都是操作字符串
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
UserService userService;
@Autowired
RedisTemplate jsonRedisTemplate;
/**
* stringRedisTemplate.opsForValue();//操作字符串
* stringRedisTemplate.opsForList();//操作List
* stringRedisTemplate.opsForSet();//操作Set
* stringRedisTemplate.opsForZSet();//操作ZSet
* stringRedisTemplate.opsForHash();//操作hash
*/
@Test
void contextLoads() {
// stringRedisTemplate.opsForValue().set("name","qqqking");
// String name = stringRedisTemplate.opsForValue().get("name");
// System.out.println(name);
// stringRedisTemplate.opsForList().leftPushAll("myList","a","b","c");
// List<String> myList = stringRedisTemplate.opsForList().range("myList", 0, -1);
// System.out.println(myList);//[c, b, a]
}
@Test
public void test(){
User userById = userService.getUserById(3);
//保存数据必须序列化
// redisTemplate.opsForValue().set("User",userById);
// User user1 = (User)redisTemplate.opsForValue().get("User");
jsonRedisTemplate.opsForValue().set("userJson01",userById);
// System.out.println(user1);
}
}