我有一个应用程序,它将从一个db(非常罕见的写操作-期望每天最多几十个请求。但是期望大量的读操作(100k或更多)。数据库大小很小(总共<100条记录)。我是否应该期望这样一个系统仅仅通过直接从数据库中读取数据(给定少量的记录和假定的较短的检索时间)来响应地工作?或者我还是应该考虑实现缓存解决方案(例如redis或memcached)并从内存中检索记录?
cmssoen21#
根据我的经验,缓存一个小表(<100条记录)不值得这么做,而且增加了复杂性。现代sql服务器(我使用过mssql、oracle和postgres)非常擅长在场景中缓存,它们似乎已经将那些频繁请求的查询结果保存在内存中了。也就是说,如果sql server正在执行其他较重的查询,则可能会对较小的查询产生影响,在这种情况下,缓存可能更合适。对生产服务器进行sql分析也会有所帮助。
1条答案
按热度按时间cmssoen21#
根据我的经验,缓存一个小表(<100条记录)不值得这么做,而且增加了复杂性。现代sql服务器(我使用过mssql、oracle和postgres)非常擅长在场景中缓存,它们似乎已经将那些频繁请求的查询结果保存在内存中了。
也就是说,如果sql server正在执行其他较重的查询,则可能会对较小的查询产生影响,在这种情况下,缓存可能更合适。
对生产服务器进行sql分析也会有所帮助。