栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Google AppEngine(python)中存储配置的好地方

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Google AppEngine(python)中存储配置的好地方

如果您可以将它们嵌入到源代码中,可以这样做,但是如果需要它是可动态配置的,那么数据存储是您的最佳选择。您可以通过将它们缓存在本地内存中来避免获取每个请求的设置。这是一个帮助类:

class Configuration(db.Model):  _INSTANCE = None  @classmethod  def get_instance(cls):    if not cls._INSTANCE:      cls._INSTANCE = cls.get_or_insert('config')    return cls._INSTANCE

只需使用所需的任何配置值对此子类化(或修改类本身)。由于加载的代码在请求之间仍然存在,因此每个应用程序实例只需执行一次访存-
尽管如果您希望能够动态更新配置,则可能需要建立超时。

如果要在有限的时间内缓存内容,最好的选择就是在获取时间戳时简单地存储它:

class Configuration(db.Model):  CACHE_TIME = datetime.timedelta(minutes=5)  _INSTANCE = None  _INSTANCE_AGE = None  @classmethod  def get_instance(cls):    now = datetime.datetime.now()    if not cls._INSTANCE or cls._INSTANCE_AGE + cls.CACHE_TIME < now:      cls._INSTANCE = cls.get_or_insert('config')      cls._INSTANCE_AGE = now    return cls._INSTANCE


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号