我编写了一个具有多用户的Web应用程序。他们是选择数据或插入数据的每一件事。但选择一些数据需要太多时间,例如使用LINQ或数学计算。我一件事情: 我USER1:如何用C#编写代理?
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
如何写一个代理服务器,选择更快,更新选择的结果,如果其他用户更新表?
我会建议使用预先存在的缓存解决方案,而不是从头开始编写新的解决方案 – Eric 2011-03-17 09:59:54
我不知道这是否适用于您的情况,或者您是否仅使用了简化示例,但在您的“WHERE” SELECT(并且只选择所需的字段而不是'*')可能比手动缓存数据提高性能。请记住,数据库访问通常非常快*(当索引位置正确并且只请求真正需要的数据时),并且同一子网上的计算机之间的网络连接通常也很快。你有没有做基准测试来找出你的性能瓶颈在哪里? – Heinzi 2011-03-17 10:04:43
所以你想要一些可以在内存中保留最近/频繁选择的行,并确保对表进行的任何更新都反映在内存行中的更新中,同时处理内存压力等问题?这听起来像SQL Server已经在内部做了什么(并且在大多数时间做了很好的工作)。 – 2011-03-17 10:29:15