Хранить объект в memcache GAE в Go - программирование
Подтвердить что ты не робот

Хранить объект в 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 не содержится пример кода.

Может ли кто-нибудь, пожалуйста, показать мне пример? Спасибо заранее

4b9b3361

Ответ 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}

Спасибо всем