我編寫了一個具有多用戶的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