Tôi đang sử dụng CacheBuilder và LoadingCache để triển khai bộ nhớ cache trong dữ liệu của cơ sở dữ liệu.Ổ cứng LoadingCache - cách xử lý các khóa không tồn tại trong cửa hàng sao lưu
Giả sử một khách hàng truy vấn bộ nhớ cache cho một mục không tồn tại trong cửa hàng sao lưu. Tôi muốn khách hàng biết rằng không tìm thấy dữ liệu nào cho khóa được chỉ định. Cách tiếp cận tốt nhất để xử lý điều này là gì?
- Lưu trữ giá trị đặc biệt trong bộ nhớ cache có nghĩa là "không có dữ liệu".
- Không lưu trữ gì trong bộ nhớ cache và tăng ngoại lệ.
- Các ý tưởng khác?
Vâng ... điều đó có phải là một điều kiện đặc biệt hay đây là sự kiện bình thường trong chương trình của bạn? Nếu đầu tiên, ném một ngoại lệ, nếu thứ hai, lưu trữ một giá trị đặc biệt. –
Tôi phần nào miễn cưỡng sử dụng một 'Tùy chọn' trong trường hợp của Louis. – Ray
Trong trường hợp của tôi, "không có dữ liệu" là có ý nghĩa. Ban đầu, tôi đã cố gắng để lưu trữ null trong bộ nhớ cache, mà không thành công do 'InvalidCacheLoadException'. Cảm ơn lời đề nghị, Ray. Cũng tìm thấy một số thông tin tốt ở đây: http://stackoverflow.com/questions/8298285/handle-null-value-using-guava-mapmaker-cachebuilder – frankadelic