2011-11-18 25 views
8

Got thru dưới đây tuyên bố tại http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html#performance-cache-nonstrictđọc/ghi không đúng với đọc/ghi trong chế độ ngủ đông?

Nếu ứng dụng chỉ thỉnh thoảng mới cần phải cập nhật dữ liệu (tức là nếu nó là vô cùng chắc rằng hai giao dịch sẽ cố gắng cập nhật cùng một mục đồng thời)

gì tôi nhận được từ tuyên bố trên là nếu nhà phát triển cập nhật một đối tượng trong mã của mình, đôi khi anh ấy muốn cập nhật trong bộ nhớ cache cấp thứ hai và đôi khi không. Đúng? Nếu có làm thế nào anh ta sẽ đạt được nó trong mã của mình. Tôi có nghĩa là nơi ông cần phải xác định trong mã của mình rằng thời gian này, ông muốn cập nhật trong bộ nhớ cache và thời gian khác không.

Trả lời

10

Bạn hiểu sai. Điều này có nghĩa là nếu chiến lược này nên được sử dụng khi thực thể đôi khi được cập nhật (vì vậy chỉ đọc không áp dụng), nhưng điều đó rất khó xảy ra khi hai giao dịch đồng thời cập nhật cùng một mục. Ví dụ: nếu bạn có hàng nghìn người dùng truy cập dữ liệu, một lô sẽ cập nhật thường xuyên, tùy chọn này là tùy chọn phù hợp để chọn: chỉ một giao dịch cập nhật các mục tại một thời điểm.

+0

Cảm ơn JB. Đó là những gì actuaaly tôi đang hỏi đoạn mã mà chỉ định nonstrict đọc/write.As theo sự hiểu biết của tôi nó nên được quy định trong chương trình của chúng tôi thay vì tập tin hbm.xml .. Phải không? –

+1

No. Nó được chỉ định trong tệp ánh xạ xml của thực thể hoặc trong chú thích mô tả chiến lược bộ nhớ cache cho thực thể. Tại sao nó lại nằm trong mã? –

+1

Cảm ơn JB. Điều gì sẽ xảy ra khi hai giao dịch đồng thời cập nhật cùng một mục và nếu chúng tôi chọn tùy chọn đọc/ghi không nghiêm ngặt. Điều tương tự sẽ xảy ra khi hai giao dịch đồng thời cập nhật cùng một mục và nếu chúng tôi chọn tùy chọn đọc/ghi –

Các vấn đề liên quan