Tôi đang xây dựng một cửa hàng trực tuyến & cố gắng cải thiện hiệu suất bằng cách giảm thiểu các truy vấn MYSQL.PHP - Có thực hành tốt để lưu các truy vấn MYSQL trong một tệp txt không?
Thực tiễn tốt là lưu vào bộ nhớ cache truy vấn mysql qua tệp txt và sau đó tìm nạp thay vì truy vấn? Đây là những gì tôi đang làm"
- Một lớp học php mất truy vấn sql như là một chuỗi
- làm một md5 của nó
- nếu đây là lần đầu tiên nó chạy
- sau đó thực hiện truy vấn trên cơ sở dữ liệu
- có được kết quả trong một mảng
- serialize mảng và lưu nó như md5_Of_Query.txt
- trở lại hoặc unserialize (file_get_contents (md5_of_Query.txt)) hoặc res $ các truy vấn thực tế, tùy thuộc vào bộ nhớ cache tồn tại hay không và hợp lệ.
- Lớp này cũng kiểm tra filemtime() của tệp txt và nếu nó lớn hơn một giờ, sau đó thực hiện lại truy vấn và làm mới bộ nhớ cache.
Điều này có hiệu quả hơn làm truy vấn sql mỗi lần không? Bất kỳ vấn đề bảo mật nào tôi bị thiếu?
Cảm ơn rất nhiều, Got memcache đã được cài đặt trên máy chủ WAMP của tôi, sẽ xây dựng bằng bộ nhớ cache này ngay bây giờ. – Emmanuel
Trên một WAMP duy nhất nó không thể tạo sự khác biệt, truy cập tệp văn bản trên Windows là ** đã ** lưu trong bộ nhớ. Memcached bổ sung thêm chi phí và ** đánh cắp bộ nhớ ** máy chủ web và DB sẽ sử dụng nhiều hơn. Memcached có nghĩa là cho nhiều * ** * ** nhiều kịch bản lớn hơn. Với các trang trại * máy chủ * lớn và * nhóm * của máy chủ lưu trữ bộ nhớ đệm trả lời các truy vấn và truy vấn phụ. Trong kịch bản đó memcached (mà thẩm vấn máng bộ nhớ một ** rất văn bản giao thức ** trên một ** ổ cắm mạng **) có thể phun tốt nhất của hiệu suất ra khỏi sự phong phú của các nguồn tài nguyên phong phú. Các máy đơn lẻ có thể không nhận được lợi ích nào từ nó. – ZJR
Điểm tuyệt vời, tuy nhiên, nên lập kế hoạch mở rộng ở đầu chu kỳ phát triển của một ứng dụng. Tôi không tin rằng ứng dụng sẽ được lưu trữ trên một máy chủ WAMP, tôi cho rằng đó chỉ là để phát triển và thử nghiệm. – serialworm