GAE (Python) 最佳实践:从 JSON 文件或数据存储加载配置?

GAE (Python) Best practice: Load config from JSON file or Datastore?

我使用数据存储数据库(使用 NDB)在 GAE Python 中编写了一个平台。我的平台允许用户选择主题。在 每个 页面加载之前,我加载了一个 JSON 文件(使用 urllib.urlopen(FILEPATH).read())。我是否应该将 JSON 保存到数据存储区并通过 NDB 加载它?

这是我的 JSON 配置文件的示例。这些可以在大小上有所不同,但不会太大。它们通常很小。

{
    "TITLE": "Test Theme",
    "VERSION": "1.0",
    "AUTHOR": "ThePloki",
    "DESCRIPTION": "A test theme for my platform",

    "FONTS": ["Arial", "Times New Roman"],

    "TOOLBAR": [
        {"left":[
            {"template":"logo"}
        ]},
        {"center":[
            {"template":"breadcrumbs"}
        ]},
        {"right":[
            {"template":"link", "url":"account", "msg":"Account"},
            {"template":"link", "url":"logout", "msg":"Log Out"}
        ]}
    ],

    "NAV_LEFT": true,
    "SHOW_PAGE_TITLE": false
}

我目前没有注意到任何延迟,但我在本地工作。在生产过程中,如果流量很高,urllib.urlopen().read() 会导致问题吗?

您是否希望在不重新部署应用程序代码的情况下更改配置?在这种情况下,将配置存储在数据存储中是有意义的。

如果更改配置涉及重新部署代码,则本地文件可能没问题 - 您甚至可以考虑将其设为 Python 文件而不是 JSON,这样它' d 只是导入它而不是乱用文件句柄的问题。