2009-09-04 22 views
8

Hồ sơ người dùng những hình ảnh được lưu trữ trong một fileserver riêng biệt, và tôi đang nghĩ đến việc bộ nhớ đệm chúng trong memcached. Máy chủ memcached là cục bộ cho ứng dụng và mỗi hình ảnh nhỏ hơn 1MB.hình ảnh Caching trong memcached

Nhưng tôi thấy trên here rằng việc sử dụng memcached cho hình ảnh là một ý tưởng tồi. Có thật không? Tôi thực sự không tin.

Bất kỳ thực tiễn và đề xuất nào tốt nhất? Tôi đang sử dụng Trình khách Java SpyMemcached.

Trả lời

5

Linux tự động lưu trữ các tệp được đọc từ đĩa. Caching proxy như Squid cũng rất tốt trong việc lưu trữ hình ảnh.

... Vì vậy, chắc chắn có những công cụ tốt hơn cho công việc. Mặt khác, nginx gần đây đã thêm hỗ trợ memcached. Nếu không có bối cảnh, thật khó để đánh giá đề xuất đó.

Họ có thể có nghĩa là "Đừng cho hình ảnh từ memcached qua một kịch bản PHP", trong trường hợp này, họ hoàn toàn đúng - PHP thêm tấn overhead. Nhưng tôi không nhất thiết phải xem cách sử dụng tính năng memcache của Nginx để lưu trữ và phục vụ hình ảnh sẽ là một điều xấu.

Edit: Dường như facebook may have cached profile images in memcached tại một thời điểm.

+1

Tôi đã sử dụng memcached cho các ứng dụng và lưu trữ của tôi về một rất nhiều chất liệu, và do đó sự cám dỗ để đi với Memcached cho hình ảnh hơn là sử dụng những cách khác có nghĩa đặc biệt cho bộ nhớ đệm tập tin. – Langali

+0

Được cảnh báo: apache có thể phục vụ hình ảnh từ đĩa trong ít hơn thời gian cần khung PHP của bạn để khởi động. Tự mình đánh dấu, nhưng bạn sẽ thấy rằng máy chủ web thực sự giỏi phục vụ các tệp phẳng. –

+0

Tôi có 3 máy chủ apache trước 3 phiên bản tomcat, nói chuyện với một máy chủ tập tin riêng biệt. Lý tưởng nhất là tôi sẽ chỉ tải nó xuống CDN hoặc thậm chí lưu trữ cục bộ để apache, nhưng tôi cần phải bảo vệ quyền truy cập vào những hình ảnh đó dựa trên vai trò. Điều đó giới hạn tôi để máy chủ nó từ tomcat. Và do đó một bộ nhớ đệm được phân phối trong cùng một mạng là lý do tại sao Memcached có ý nghĩa với tôi. Tôi sẽ xem điểm chuẩn của tôi nói gì. – Langali