2013-02-23 27 views
0

我的網站是多種語言。 來自美國,歐洲,澳大利亞和英國的企業可以創建商家信息並提供費用。 現在來自美國的企業將以美元,歐洲公司的歐洲公司和英國英鎊的公司提供費用。我應該在哪裏存儲價值快速便宜的訪問性能明智

例如:一家企業提供了3000美元的匯率。

但是,訪問者瀏覽歐洲的網頁,並希望看到歐元的價格,所以我需要將3000美元兌換成歐元。 我想要的是通過輪詢一個這樣的webservice每週存儲匯率:http://www.webservicex.net/WS/WSDetails.aspx?WSID=10&CATID=2。並將其存儲在某個地方(例如我的數據庫),然後在渲染頁面時即時進行轉換。

現在,由於數據庫查詢是相當昂貴的,我想知道什麼是最好的地方來存儲這些匯率?

在數據庫中?文件系統? 我也在考慮web.config,但我確實想自動更新匯率而不是手動更新。

謝謝!

回答

1

這種價值 - 獲取成本昂貴,但不經常更改(我特別談論匯率)可以被緩存。

您的Web服務器很可能支持某種緩存機制 - 將這些緩存機制添加到Web服務器緩存中進行查找。

在IIS中,使用ASP.NET,您可以使用Cache類以及Application變量。您可以將其設置爲過期,因此最好使用Cache

+0

我正在運行一個每週更新值的工作,所以不需要過期我會想到的值? 但是,例如,Session對象只對當前用戶可用。緩存和應用程序對象值是否都可供所有用戶使用? 謝謝! – Flo 2013-02-23 14:37:24

+0

@Floran - 無論您是否需要過期都取決於您 - 如果應用程序在一週內沒有重置,您可能希望內置過期緩存和應用程序共享 - 值集將是所有用戶看到的值。 – Oded 2013-02-23 14:42:01

相關問題