我有一些设计问题, 假设您有一个应用程序在运行时将数据存储到其缓存中,您认为应用程序在必须使用数据库之前应该缓存的最大数据量(以mb为单位)。
感谢。
答案 0 :(得分:3)
你有多少记忆?当应用程序或系统崩溃时,您能承受多少损失?在重新启动并重新加载这些缓存时,您能承受多长时间的启动时间?通常情况下,即使使用缓存,您也需要以任何方式(或某些东西)写入数据库来持久保存数据。
如果你最终有“太多的数据”来适应内存,那么你现在正在将工作集从数据库分配到内存。如果有人更改背后的数据库,您也会遇到缓存同步问题。
各种有趣的问题。
但是,如果你有记忆,请继续使用它。
答案 1 :(得分:1)
有一个合理的机会,SQLServer在这方面比你更好,并且你应该暂时缓存。
就像威尔所说的那样,如果你愿意为崩溃时丢失的数据付费,你可能会提高响应能力,直到以后再坚持下去。任何你可以“免费”做的事情,在放弃通过立即写入数据库得到的保证的意义上,DB原则上可以为自己做。 SQL Server非常积极地使用几乎所有可用的可用内存(并且在其他应用程序需要RAM时减少其内存使用量非常有礼貌)。因此,您用于缓存的任何内存都会从SQL Server的缓存中删除。