【发布时间】:2011-07-17 06:52:56
【问题描述】:
我编写了一个具有多用户的 Web 应用程序。他们是选择数据或插入数据,每件事都是这样。但是选择一些数据需要太多时间,例如使用 LINQ 或数学计算。我认为: 我的用户1:
select * from MyTable -----> save as caching via proxy server in machine
我的用户 2:
select * from MyTable2 -----> save as caching via proxy server in machine
我的用户 3:
insert into MyTable2 -----> Update caching(select * from MyTable2) via proxy server in machine
如果另一个用户更新表,如何编写代理服务器来选择更快并更新选择结果?
【问题讨论】:
-
我建议使用预先存在的缓存解决方案,而不是从头开始编写新的解决方案
-
我不知道这是否适用于您的情况,或者您是否只是使用了一个简化的示例,但在您的 SELECT 上使用了
WHERE子句(并且只选择了必填字段而不是*)可能比手动缓存数据更能提高性能。请记住,数据库访问通常非常快(当索引位于正确的位置并且您只请求真正需要的数据时)并且同一子网上的机器之间的网络连接通常也很快。您是否进行了基准测试以找出性能瓶颈所在? -
所以你想要一些东西,让最近/经常选择的行在内存中可用,并确保对表所做的任何更新都反映在内存行中,同时处理内存压力等?这听起来像是 SQL Server 内部已经在做的事情(而且大部分时间都做得非常好)。
标签: c# asp.net visual-studio visual-studio-2008 proxy-classes