上下文:使用Memcached的。(使用Google和Objectify,但这与此无关)
我将创建一个简单的例子,一个有两个实体的游戏玩家和游戏。用户通常可以查询打开的单个请求游戏,甚至是玩家配置文件。可能有100场,也可能有3000000场。
(1)对所有实体使用缓存是个好主意吗?如果我有未使用的RAM,为什么不使用它与游戏或播放器?这有不好的情况吗?(除了缓存访问数据外,几乎没有时间)
(2)另一个问题是,当加载对象时,我是否应该分区以优化存储的对象?并缓存?,例如:
player {
email
pass
punctuation // This data
这是我的memcache获取和设置代码(所有内容都指向_mc_get)
def _mc_get(key, retrieve_func):
value = memcache.get(key)
if value is not None:
logging.debug("Memcache: hit %s", key)
return value
logging.debug("Memcache: missing + adding %s", key)
value = retrieve_func()
if not memcache.add(
我正在用python在谷歌应用程序引擎上编写一个web应用程序,使用jinja2作为模板系统,该应用程序基本上允许用户撰写帖子/评论和排名其他用户的帖子。排名系统的基础是上/下投票数量和评论数量。我正在尝试使用memcache来存储这个计算值,并相应地对帖子进行排名。
我只想偶尔将值存储在数据库中,这样就不会使写入成本变得昂贵。我计划有一个计数器,并将其存储在数据库中每10票/评论。我是这样想的:
# I update the counter every time that I add a vote or comment
counter = 0
def posts_cache(update =