spring如何使用redis序列化Java即时类型
我正在使用SpringBoot2.0.3和 spring启动程序数据redis。 也使用jackson-datatype-jsr310
我想将对象存储到redis中
对象(MyObj):
String text;
Instant instant;
这是我的密码:
@Test
public void test() {
ListOperations<String, MyObj> listOps = redisTemplate.opsForList();
MyObj o1 = new MyObj();
o1.setText("foo");
o1.setInstant(Instant.now());
listOps.leftPush("foo", o1);
MyObj o2 = new MyObj();
o2.setText("bar");
o2.setInstant(Instant.now());
listOps.leftPush("foo", o2);
List<MyObj> list = listOps.range("foo", 0, -1);
for (MyObj o : list) {
System.out.println(o.getText());
System.out.println(o.getInstant());
}
}
在我的RedisConfig中:
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
但当我进入redis时,错误发生在下面:
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Cannot construct instance of
java.time.Instant
(no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
如何用Redis序列化java即时类型
如有任何意见,将不胜感激
共 (0) 个答案