Trong một dự án di sản khá lớn, tôi đã tái cấu trúc một số mô-đun lông vào các lớp Moose. Mỗi mô-đun này yêu cầu quyền truy cập cơ sở dữ liệu vào (lười) lấy các thuộc tính của nó. Vì những đối tượng này được sử dụng khá nhiều, tôi muốn giảm số lượng yêu cầu thừa, ví dụ như cho dữ liệu không thay đổi.Làm cách nào để giảm số lượng yêu cầu thừa với mod_perl đúng cách?
Bây giờ, làm cách nào để thực hiện điều đó một cách chính xác? Tôi đã có một vài lựa chọn:
- Thực hiện bộ nhớ đệm trong các lớp Moose của tôi qua một vai trò lưu trữ chúng trong
memcached
với hết 5-10 phút (có lẽ không phải là quá khó khăn, nhưng khó khăn với các thuộc tính lười biếng) cập nhật: KiokuDB có thể có thể giúp đây, phải đọc lên về thuộc tính - Di chuyển đến
DBIx::Class
(cần phải làm anyway) và thực hiện bộ nhớ đệm trên mức này (DBIC lẽ sẽ mất hầu hết các đau đi chỉ bằng cách riêng của mình) - bằng cách nào đó làm cho các đối tượng của tôi vẫn tồn tại bên trong quá trình mod_perl (không có đầu mối làm thế nào để làm điều này :()
Bạn sẽ làm điều này như thế nào và bạn nghĩ gì một cách lành mạnh? Dữ liệu bộ nhớ đệm có được ưu tiên trên đối tượng hoặc cấp ORM không?