2015-03-02 142 views
0

我正在一个3层项目管理应用程序(IIS服务器+应用程序服务器+数据库服务器)。我们有一个大的JSON数据(〜1 MB),我们需要在内存中缓存,这样我们可以最小化数据库调用来获取它。可能有约10-50个用户同时登录,总缓存大小可能在10-50 MB之间变化。在内存中缓存大型数据集在ASP.net服务器

我不能使用缓存服务器,因为它会增加对另一台服务器的依赖性,我们需要检查它是否存在,以避免下游出现问题。 它不是一个“高度可扩展”的应用程序,所以我想使用一些易于实现的功能,并且可以针对以上参数进行操作。 感谢您的帮助。

+0

缓存每个用户1mb?你无法在客户端缓存数据吗? – Noel 2015-03-02 05:54:54

+1

10-50Mb是“大量数据”?你可能很容易在你的手机上托管这样的网站......如果10Mb是内存数量,你很担心ASP.Net(或者一般的.Net)可能根本不可接受......你是否真的测量过缓存使用情况(即默认的ASP.Net缓存有很多需要观察的计数器)来确认10-50Mb会导致您的应用程序出现问题? – 2015-03-02 06:43:44

+0

每用户1-10mb。它基本上是一个用户正在工作的临时数据。我实际上会尝试浏览器缓存(ext JS商店)。 – 2015-03-03 10:53:55

回答

0

有几种解决方案,您可以使用NOSQL内存缓存一样的Redis或等或也可以使用.NET内存缓存:“System.Runtime.Caching”:ObjectCache或者如果您使用MSSQL 2012,你可以使用MSSQL内存表