我正在使用Golang开发Appengine。
我在数据存储上有大约1000个实体。
当我查询所有实体(q.GetAll(...)
)时,Datstore Read Operations
或Datastore Small Operations
运行大约2%的使用率(1k的50k)。
使用KeysOnly()
或Project(..something...)
时也是如此。
我已经阅读了一些文章来解决这个问题,我必须将数据存储区查询存储到memcache 。 但我找不到怎么做。
那么如何在Go AppEngine中向/从memcache存储/检索数据存储区查询?
还是有其他方法可以减少数据存储读取/小操作使用吗?
我需要你的帮助。 谢谢。
答案 0 :(得分:0)
不缓存查询。如果您的实体很小,则可以减少使用projection query并减少到small costs。有关生成必要搜索索引的信息,请查看end of the article。
答案 1 :(得分:0)
最佳做法是使用KeysOnly()
进行查询,并为密钥缓存每个调用datastore.Get()
。
算法如下:
如何使用documentation中描述的memcache。