Tôi không có kinh nghiệm trong NHibernate nhưng đã làm việc với bộ nhớ cache cấp hai trong Hibernate và tôi đã được cho biết rằng các khái niệm tương tự được áp dụng cho cả hai.
Ý tưởng cơ bản đằng sau cung cấp các tham số hibernate.cache.use_ minimal_puts là trước khi ngủ đông đặt một đối tượng trong bộ nhớ cache đầu tiên nó kiểm tra bộ nhớ cache mức độ thứ hai cho dù đối tượng đã có mặt ở đó, và nếu không thì chỉ đặt đó.
Điều này sẽ hữu ích CHỈ khi dữ liệu đọc từ bộ nhớ cache rất ít tốn kém hơn so với cập nhật dữ liệu. Đây là ý nghĩa của tài liệu về các số
... tối ưu hóa hoạt động bộ nhớ cache cấp hai để giảm thiểu ghi, tại chi phí đọc thường xuyên hơn.
Trường hợp phù hợp hoàn hảo cho loại tối ưu hóa này là nhân rộng trong phân cụm.
Nếu bạn đang sử dụng phân cụm thì thao tác đặt rất tốn kém vì nó kích hoạt trình lắng nghe nhân bản bộ đệm trong trường hợp bộ nhớ cache nhóm. Nếu bạn không sử dụng clustering thì thao tác đặt này tương đối rẻ.
Ngay cả trong trường hợp phân cụm có thể có các nhà cung cấp bộ nhớ cache dựa vào việc vô hiệu hóa các thực thể thay vì sao chép các thay đổi được thực hiện cho chúng. Trong trường hợp đó, tham số này sẽ là vô ích.
Một yếu tố có thể cản trở hiệu suất là loại sao chép đồng bộ hoặc không đồng bộ) được Memcache sử dụng. Tôi đã không sử dụng MemCache nhưng EhCache hỗ trợ cả hai mô hình. Vì vậy, trong trường hợp của bạn là bạn đang KHÔNG sử dụng phân nhóm và mặc dù bộ nhớ cache đang ở trên một quy trình từ xa, tôi nghiêm túc nghi ngờ rằng sẽ có bất kỳ lợi ích hiệu suất nào bằng cách đặt thông số này thành true.
"với chi phí thường xuyên hơn đọc" - cũng Reads ngụ ý ở trên không qua mạng, phải không? –
@ PlínioPantaleão - Tốt .. có lẽ một câu hỏi hay hơn là: được viết (rất nhiều) đắt hơn số lần đọc trong memcached? – DanP
Tôi không có bất kỳ bằng chứng nào để ủng hộ ý kiến của tôi, nhưng tôi không tin điều này. Điều này chỉ đúng trong môi trường phân tán vì viết có thể khiến bạn mất lưu trữ trên các máy khác. Nếu điều này đã đúng trong trường hợp máy đơn lẻ, tôi nghĩ rằng họ sẽ làm điều đó trước :) –