2012-01-11 108 views
1

有什么办法从memcache获取随机项目?从Memcache获取随机项目 - Google App Engine

+1

你想解决什么问题?你需要什么样的随机性统计特性?没有内置的方式来询问memcache的随机值。但是,如果没有此功能,可能有办法实现您的目标。 – 2012-01-11 17:22:07

+0

我正在做类似于这个解决方案http://stackoverflow.com/a/3451052/281021。我只是想知道它是否可以从使用memcache的任何优化中受益。 – Albert 2012-01-16 11:46:45

回答

2

不,没有办法从memcache中选择一个随机元素。它也不是为此设计的。

+0

您帮助提供此解决方案http://stackoverflow.com/a/3451052/281021。 memcache可以以任何方式帮助吗? – Albert 2012-01-16 11:49:12

+1

@Albert不,因为无法在memcache上查询,只能通过键获取。 – 2012-01-16 12:09:54

3

不是直接通过API。

但是,您可以为memcache中的所有图像创建图像键列表,然后从该列表中随机选择。列表本身也需要存储在memcache中。

+0

您如何知道在memcache中存在哪些图像,以创建您的列表? memcache中的项目可以在任何时候消失,不会有任何警告。 – 2012-01-11 17:13:52

+0

像往常一样,您尝试从缓存中获取它,如果不可用从数据存储加载它。额外的工作是在从memcache添加/删除图像时添加/删除列表中的条目。 – 2012-01-11 18:25:54

+0

我认为去数据存储是不可接受的。对我来说,问题是“我现在可以得到一个在memcache中的随机项目,而不需要去数据存储区” – 2012-01-11 21:21:37