1.介绍
StringRedisTemplate 的key 和val使用的都是String序列化,所以当val的值是一个对象时,需要我们手动的序列化和反序列化(obj <=====>json)
2. 代码实现
/**
* @author ttsin
*/
@SpringBootTest
public class StringRedisTemplateTest {
@Resource
private StringRedisTemplate stringRedisTemplate;
//JSON工具
public static final ObjectMapper mapper = new ObjectMapper();
@Test
void testSaveUser() throws JsonProcessingException {
//创建对象
User user = new User();
user.setAge(18);
user.setName("张三");
//手动序列化
String json = mapper.writeValueAsString(user);
//存数据
stringRedisTemplate.opsForValue().set("user:100",json);
//获取数据
String jsonUser = stringRedisTemplate.opsForValue().get("user:100");
System.out.println(jsonUser);
//手动反序列化
User user1 = mapper.readValue(json, User.class);
System.out.println("user1 = " + user1);
}
}