C# · 12月 26, 2021

c# – 最佳实践 – 在application_start中加载很多东西?

我有一个网上商店有很多产品和其他内容.目前,我将所有内容加载到Application_Start的全局列表中,该脚本采用aprox 15-25秒.

这使得网站真的很快,因为我可以在O(1)时间获得任何产品/内容.

但是,这是最好的做法吗?

目前,我有一个不是VPS /专用服务器的网络酒店,所以它不时地回收应用程序,这样随机访问者的加载时间可以达到15-25秒(只有成为一个更大的数字,更多的内容).这当然是完全不可接受的,但我想这将用VPS解决.

这样做的正常方法是什么?我想像亚马逊这样的网络商店可能不会将所有的产品加载到一个巨大的列表中:-D

任何想法和想法将受到高度评价.

解决方法 看来你已经回答了你的问题:“这当然是完全不可接受的”.

如果您的目标O(1)对单个产品的数据库的正常请求可能是O(1),除非您需要产品之间的复杂连接.考虑尝试删除所有的预缓存逻辑,并查看是否有性能问题.您可以通过延迟缓存来限制启动影响.

大型网站经常使用像MemcaheD这样的分布式缓存.