Tôi có một ứng dụng web php nơi dữ liệu nhất định thay đổi hàng tuần nhưng được đọc thường xuyên.Kỹ thuật tốt nhất cho kết quả bộ nhớ đệm từ các truy vấn thay đổi không thường xuyên
Truy vấn SQL truy xuất dữ liệu và mã php cho đầu ra html khá phức tạp. Có nhiều kết nối bảng và nhiều phép tính - nhưng chúng dẫn đến một bảng html khá cơ bản. Người dùng được nhóm và bảng giống nhau cho mỗi nhóm mỗi tuần, nhưng khác nhau cho các nhóm khác nhau. Tôi có khả năng có thể có hàng trăm bảng cho hàng ngàn người dùng.
Vì lý do hiệu suất, tôi muốn lưu vào bộ nhớ cache dữ liệu này. Thay vì chạy các truy vấn và tính toán này mỗi khi có ai đó truy cập trang, tôi muốn chạy một quy trình hàng tuần để tạo bảng cho mỗi nhóm cho tôi đọc đơn giản khi được yêu cầu.
Tôi muốn biết kỹ thuật nào bạn đã sử dụng thành công hoặc không thành công để đạt được điều gì đó như thế này?
Tùy chọn tôi có thể nhìn thấy bao gồm:
- Lưu trữ các kết quả html của các tính toán trong một bảng MySQL, xác định bởi nhóm người dùng
- Lưu trữ dữ liệu kết quả trong một bảng MySQL, xác định bởi nhóm người dùng (khó khăn như không có số cố định của các mục dữ liệu)
- Caching sản lượng trang trong các tập tin tĩnh
Bất kỳ lời đề nghị khác sẽ được hoan nghênh!
Một số đề xuất tuyệt vời, cảm ơn. – Damovisa
Danh sách các đề xuất tốt ở đây. Lưu ý rằng bộ nhớ đệm truy vấn MySQL không phải là bản sửa lỗi hoàn chỉnh - nó có các lợi ích và hạn chế (nó có thể làm mọi thứ tồi tệ hơn trên các dữ liệu được cập nhật thường xuyên). Như được đề xuất bởi Assaf, nó chỉ là một trong nhiều tùy chọn. – thomasrutter