我有一种情况,我必须查询数据库以获取一些对所有用户都相同且每天更改的数据,所以我想我可以创建一个文件来保存这些数据(每天一次)和然后每次用户访问我的网站时从该文件加载它。
现在,我知道当来自数据库的请求很大但我要写入文件的数据是一个简单的 3 位数字时,这是一种常见的做法(缓存),所以我的问题是这仍然应该是更快还是只是矫枉过正,我应该坚持使用数据库查询?
最佳答案
如果操作得当,缓存总是更快。
这取决于从文件中存储和检索数据需要多长时间,以及对数据库的请求需要多长时间。
如果获取数字的数据库查询需要很长时间,那么缓存可能是个好主意,因为数据很小。
如果您要在包含大量缓存数据的文件中进行搜索(例如顺序搜索)(这似乎并非如此),则需要很长时间。
磁盘 I/O 可能比数据库 I/O 慢(这不太可能,除非它是本地数据库)。
底线 - 基准。
对于您的场景,缓存可能是个好主意,但如果所有用户只有一个 3 位数,那么我会尝试将其保存在 RAM 中而不是文件中。
关于sql - 将小数据写入文件并从中读取或查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851653/