gpt4 book ai didi

python - 在 Google AppEngine (python) 中存储配置的好地方是什么

转载 作者:太空狗 更新时间:2023-10-29 17:11:44 26 4
gpt4 key购买 nike

我正在制作一个 Google AppEngine 应用程序,我怀疑我是否应该存储(敏感的)配置数据,如凭据。

我应该为配置制作一个单一的 bigtable 实体,还是有另一种建议的存储方式。

最佳答案

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

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

关于python - 在 Google AppEngine (python) 中存储配置的好地方是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3777367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com