2011-12-27 110 views
1

我讀this問題答案解釋了在50,000行上使用二級緩存效率不高。
那麼NHibernate的第二次緩存有哪些數據量是有幫助的,什麼時候不是,甚至會破壞性能?什麼時候推薦在NHibernate中使用第二級緩存

例如:如果我有3500名員工(我仍然不這樣做......)使用二級緩存會是一件好事嗎?

回答

2

您應該主要將其用於「靜態」數據。示例是通過購物網站銷售機票的業務網站。購物袋,訂單和訂單是易變的數據。那些沒有被緩存。

但是像機場這樣的位置數據,以及航空公司的數據和所有不同語言的連接名稱都是'靜態的'。這些可以被緩存很長時間,並且每次應用程序需要時都不會導致數據庫往返運行。

因此,要區分你的靜態數據和易失性數據。

什麼是緩存,什麼不是和多久;總是取決於你的應用程序的使用當然。需要時使用具有不同過期時間的不同緩存區域。

+0

如何使用流利NH設置緩存過期? – gdoron 2011-12-28 10:59:28

+0

與xml映射相同;您可以在app.config或web config中定義緩存區域,並在流暢映射中使用緩存區域。 – Hace 2011-12-28 12:56:14

1

不幸的是,這種問題的答案並不是微不足道的。

當數據讀取超過寫入數據時,緩存幾乎總能提高性能,但唯一可以查看它是否對您的特定情況有所幫助的方法是分析。

此外,它從來都不是一個全有或全無的命題。您可能會受益於緩存某些實體和某些查詢。具有不同的生命週期,用法等

相關問題