2016-04-28 8 views
1

Ich muss Redis und Jedis in einem Projekt verwenden, um schnell auf einige Daten von generierten Schlüsseln zugreifen zu können. Der gespeicherte Wert besteht aus einigen komplexen Java-Objekten.Kann ein Teil eines Wertes in Redis aktualisiert werden?

Ist es möglich, nur einen Teil dieses Wertes zu aktualisieren, ohne es vorher zu bekommen?

Für exemple, wenn ich ein Objekt einer classe wie die

public class MyObject { 

    private MySubObject1 myObj1; 
    private MySubObject2 myObj2; 
    private MySubObject3 myObj3; 

} 

serialisiert Wenn MyObject mit einem Schlüssel in Redis zugeordnet ist, kann ich von diesem Schlüssel nur das myObj2 Feld aktualisieren? Oder muss ich den Wert zuerst holen, das Feld aktualisieren und wieder in Redis setzen?

Antwort

2

Wenn Sie so aktualisieren möchten. Sie können einen Hash anstelle eines flachen Schlüsselwertspeichers verwenden. Hier

ist das Snippet

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)) 
Verwandte Themen