2014-09-04 4 views

Répondre

1

après la mise à jour du document, les données précédentes ont été perdues. vous ne pouvez donc pas revenir à l'état précédent. ce que vous pouvez, est d'implémenter des versions manuellement.

par exemple votre application a le document avec la clé foo, vous pouvez faire ce qui suit dans les coulisses:

réglage

my_set("foo", "bar") 

se traduit

v = incr("foo:ver") 
set("foo:" + v, "bar") 

et obtenir

my_get("foo") 

se traduit

v = get("foo:ver") 
loop do 
    doc = get("foo:" + v) 
    v -= 1 
    break if v < 0 || doc.present? 
end 

I ce code pseudo Je l'ai montré l'idée de base, bien sûr, il peut être optimisé, comme la mise à jour compteur après get réussie.

Et dans ce paramètre my_set() peut accepter le temps d'expiration, et toutes les valeurs précédentes seront stockées en toute sécurité.

Questions connexes