我试图在缓存中使用“的AppEngine /内存缓存”来存储数据, memcache.Item的值域是[]字节转:如何将结构转换为[]字节?
我怎么转换结构为[]字节存储呢?
例如:
type Link struct {
Files []string
}
我试图在缓存中使用“的AppEngine /内存缓存”来存储数据, memcache.Item的值域是[]字节转:如何将结构转换为[]字节?
我怎么转换结构为[]字节存储呢?
例如:
type Link struct {
Files []string
}
请参阅memcache.Codec类型,这可用于转换memcache项目。 appengine/memcache包有两个编解码器已经准备好,memcache.Gob和memcache.JSON。您可以使用这些编解码器代替直接调用来存储和检索缓存中的项目,例如,对于一个采样编码项目,如下所示:
item := &memcache.Item{
Key: myCacheKey,
Object: &myLinkVar,
}
err := memcache.Gob.Set(context, item)
的encoding/gob
包可能是你最好的选择。您可以使用encoding/json
软件包。
如果您使用encoding/json
,您将获得能够从Go以外的语言读取值的好处。
如果您使用encoding/gob
,您将获得更多速度。
这个例子中的'context'是什么? – 2016-01-10 16:23:21