Хранить объект в memcache GAE в Go
Я хочу сохранить объект в memcache GAE с помощью Go. Документация gae показывает только, как хранить байт [] здесь: https://developers.google.com/appengine/docs/go/memcache/overview
Конечно, существуют общие способы сериализации объекта в [] байт, с помощью которого моя задача может быть выполнена. Но, прочитав ссылку memcache, я обнаружил, что в элементе memcache есть "Объект":
// Object is the Item value for use with a Codec.
Object interface{}
Кажется, это встроенный механик для хранения объекта в memcache. Однако в документации gae не содержится пример кода.
Может ли кто-нибудь, пожалуйста, показать мне пример? Спасибо заранее
Ответы
Ответ 1
ОК, я просто понял это. В memcache pkg есть два встроенных кодека: gob и json. Просто используйте один из них (или, конечно, можно создать собственный кодек):
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}
Спасибо всем