Tôi đang xem xét sử dụng memcached kết hợp với ứng dụng PHP của tôi để lưu trữ 5 triệu cặp khóa-giá trị. Mục tiêu của tôi là để tránh qua lại từ DB (trong trường hợp của tôi là hệ thống tập tin). Tôi có thể có 100-500 truy cập mỗi giây cho khóa-giá trị. Các khóa giá trị cả MD5 và ở dạng:Lưu trữ triệu khóa-giá trị trong memcached - ý tưởng tốt hay xấu?
array('MD5X' => 'MD5Y', ...)
Tôi không chắc chắn cách dữ liệu được lưu trữ, nhưng nếu chúng ta nhân 5 million * 16 bytes (keys) + 5 million * 16 bytes (values)
chúng tôi nhận ~ 180MB.
:
Tập dữ liệu được cố định vì vậy tôi sẽ chỉ đọc từ nó (EDIT sau khi thử với một trường hợp memcached thực tôi sử dụng lên 750MB để lưu trữ tất cả các mục.).
Câu hỏi:
- Đây có phải là một thiết kế tốt hay xấu?
- Tôi có thể buộc phải ghi nhớ không bao giờ (trừ khi máy chủ bị treo) phải tải lại dữ liệu không? Giả sử rằng nắp bộ nhớ cao hơn dữ liệu được lưu trữ? Nếu không, tôi có thể sử dụng những kỹ thuật nào để đạt được cùng một mục tiêu.
Cảm ơn rất nhiều!
bạn nên sử dụng hồ sơ hiệu suất cho trường hợp sử dụng cụ thể của mình. Hoặc xem xét sử dụng một DB thực như là sẽ có bộ nhớ đệm được xây dựng in Nếu bạn lưu trữ một mảng duy nhất, bạn sẽ không phải kéo toàn bộ mảng để nhìn vào nó? –
Cảm ơn @PaulCollingwood, rất tiếc là tôi không thể sử dụng DB. Chúc mừng – JoeSlav