2012-11-07 12 views
16

Chcę zapisać obiekt w memcache GAE za pomocą Go. Dokumentacja GEA pokazuje tylko, jak przechowywać bajt [] tutaj: https://developers.google.com/appengine/docs/go/memcache/overviewPrzechowuj obiekt w pamięci podręcznej GAE w Go

Oczywiście istnieją ogólne sposoby serializacji obiektu na [] bajt, dzięki czemu moje zadanie może zostać wykonane. Ale czytając memcache odniesienia, znalazłem tam jest „obiektu” w memcache Przedmiot:

// Object is the Item's value for use with a Codec. 
Object interface{} 

To wydaje się być wbudowany mechanik przechowywać obiekt w memcache. Jednak dokumentacja gae nie dostarczyła przykładowego kodu.

Czy ktoś mógłby mi pokazać przykład? Z góry dzięki

Odpowiedz

24

OK, właśnie to wymyśliłem. Pamięć memcache zawiera dwa wbudowane kodeki: gob i json. Wystarczy użyć jednego z nich (lub oczywiście można stworzyć własną Codec):

var in, out struct {I int;} 

// Put in into memcache 
in.I = 100 
item := &memcache.Item { 
    Key: "TestKey", 
    Object: in, 
} 
memcache.Gob.Set(c, item) // error checking omitted for convenience 

// retrieve the value 
memcache.Gob.Get(c, "TestKey", &out) 
fmt.Fprint(w, out) // will print {100} 

Dzięki wszystkim

Powiązane problemy