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 只是导入它而不是乱用文件句柄的问题。
我使用数据存储数据库(使用 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 只是导入它而不是乱用文件句柄的问题。