【发布时间】:2014-08-28 08:01:40
【问题描述】:
使用(很棒的)Python Flask framework,我正在建立一个网站,为此我有 3 个“常量”,每天早上都会发生变化(所以我的常量不是很恒定,我知道,但仍然如此)。我几乎每次调用网络服务器(页面和 API 请求)都需要这些常量,所以我希望这些常量的检索非常有效。
我想定义这些常量的最有效方法是每天早上在代码中手动设置它们。但由于我很懒,而且编程背后的想法是使事情自动化,我认为没有理由以不同的方式处理这个问题。这就是为什么我想到了 3 种不同的方法;
- 将常量存储在数据库中(我的网站使用 Postgres)
- 将常量存储在我加载的小文件中。
- 将常量存储在速度更优化的键值存储中,例如Redis
但是:
- 将它们存储在我的 postgres 数据库中当然很容易,但是为我每天要覆盖的 3 条单条记录创建一个完整的单独表似乎并不合乎逻辑。
- 为每个请求打开一个文件也需要时间,尽管基准测试显然会给出答案。
- 设置一个完整的 redis 服务器(我以前从未做过,但似乎是一个很酷的挑战)对于我想要存储的简单内容来说似乎有点矫枉过正。
我有一个想法,我忽略了一个非常简单的酷技巧,我只是想不出。有人能告诉我什么是最聪明的做法吗?欢迎所有提示和想法!
【问题讨论】:
-
难道这些常量不是可计算的,因此不必存储它们吗?我的意思是你可以使用年/月/日的组合吗?
-
你能给我们举个“常量”值的例子吗?
-
@Simpom - 不幸的是没有。我使用 API 调用从外部来源获取它们。
-
@Dragu - 常量是简单的浮点数:例如 123.456..
标签: python database performance postgresql flask