2012-11-07 8 views
16

Desidero memorizzare un oggetto nel memcache di GAE utilizzando Go. La documentazione di gae mostra solo come memorizzare un [] byte qui: https://developers.google.com/appengine/docs/go/memcache/overviewArchiviare un oggetto in memcache di GAE in Go

Ovviamente ci sono modi generali per serializzare un oggetto in [] byte, con cui il mio compito può essere realizzato. Ma leggendo il riferimento memcache, ho trovato c'è un "oggetto" alla voce memcache:

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

Questo sembra essere un meccanico incorporato per memorizzare un oggetto in memcache. Tuttavia, la documentazione gae non ha fornito un codice di esempio.

Qualcuno potrebbe per favore mostrarmi un esempio? Grazie in anticipo

risposta

24

OK, ho appena capito da solo. Il pkg di memcache ha due codec incorporati: gob e json. Basta usare uno di loro (o, naturalmente, si può creare il proprio 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} 

Grazie a tutti

Problemi correlati