2012-03-01 103 views
0

我們使用NHibernate和Memcache作爲二級緩存。偶爾需要更高級的查詢或批量查詢操作。從書中NHibernate的行動中,他們提出以下建議:。NHibernate,緩存和自定義SQL查詢

「這是我們的觀點,即ORM是不適合大規模更新(或質量刪除)操作如果 你有一個用例這樣的,不同的策略幾乎總是更好:在數據庫中調用已存儲的 過程,或者使用特定用例的直接SQL UPDATE和DELETE語句。「

我的問題是,對底層數據庫的查詢不反映在緩存中(至少在緩存到期之前),我想知道是否有人提出了混合和匹配NHibernate和自定義SQL語句的有效策略?

有沒有什麼辦法讓批量更新語句(用自定義sql執行)反映在二級緩存中?我意識到可以手動驅逐,但這會從緩存中刪除項目,因此會增加數據庫命中率。

社區是否有解決方案已被發現有效處理這個問題?

+5

社區也將欣賞接受的答案.... – Jaguar 2012-03-01 15:59:47

回答