我必须在项目中使用Redis和Jedis,以便从生成的密钥快速访问某些数据。存储的值将是一些复杂的Java对象。
是否可以只更新此值的一部分,而不是之前获取它?
例如,如果我像这样序列化一个classe的对象
public class MyObject {
private MySubObject1 myObj1;
private MySubObject2 myObj2;
private MySubObject3 myObj3;
}
如果MyObject与Redis中的密钥相关联,那么我可以从该密钥更新myObj2字段吗?或者让我先获取值,更新字段并将其重新放入Redis?
答案 0 :(得分:3)
如果你想这样更新。您可以使用哈希而不是平键值存储。
这是片段
hset("MyObject","myObj1",(serialized value of myobj1))
hset("MyObject","myObj2",(serialized value of myobj2)) ...
If you want to change myObj2 alone
do hset("MyObject","myObj2",(new value))