Tôi hiện đang trong quá trình xây dựng một kho lưu trữ cho một dự án mà sẽ DB chuyên sâu (kiểm tra hiệu suất đã được thực hiện và bộ nhớ đệm là cần thiết vì lý do tại sao tôi yêu cầu)Chiến lược Caching cho dữ liệu truy vấn
Các Tôi đã có nó thiết lập bây giờ là mỗi đối tượng được lưu trữ riêng, nếu tôi muốn làm một truy vấn cho họ đối tượng tôi vượt qua các truy vấn vào cơ sở dữ liệu và trả về một yêu cầu của id. (Đối với một số truy vấn đơn giản tôi đã lưu trong bộ nhớ cache và quản lý id)
Sau đó, tôi nhấn bộ nhớ cache với các id này và kéo chúng ra, bất kỳ đối tượng bị thiếu nào được gộp vào câu lệnh "where in" và được bắn vào cơ sở dữ liệu; tại thời điểm này tôi repopulate bộ nhớ cache với các id bị thiếu.
Truy vấn mà bản thân họ có nhiều khả năng là phân trang/sắp xếp dữ liệu.
Đây có phải là chiến lược phù hợp không? Hoặc có lẽ có những kỹ thuật tốt hơn?
Khi bất kỳ dữ liệu được cập nhật bộ nhớ cache được cập nhật - và nó cũng cập nhật bảng phạt. Tôi đã sử dụng mẫu kho lưu trữ trong dự án này và tất cả truy cập dữ liệu là thông qua độc quyền này. Kho lưu trữ nó tự luôn truy cập bộ nhớ cache sau đó db (nếu bộ nhớ cache trống hoặc dữ liệu đang được cập nhật) – TWith2Sugars
Nếu bạn chưa có và nếu tùy chọn có sẵn cho bạn, tại sao không xem xét một ORM? – aleemb