Tôi sẽ không sử dụng Redis cho một tác vụ như vậy. Các sản phẩm khác sẽ là IMO phù hợp hơn.
Redis là kho lưu trữ dữ liệu trong bộ nhớ. Nếu bạn muốn lưu trữ 10-20 TB dữ liệu, bạn sẽ cần 10-20 TB RAM, tốn kém. Hơn nữa, bộ cấp phát bộ nhớ được tối ưu hóa cho các đối tượng nhỏ, không phải là các đối tượng lớn. Bạn có lẽ sẽ phải cắt các tập tin của bạn thành nhiều phần nhỏ, nó sẽ không thực sự thuận tiện.
Redis không cung cấp giải pháp đặc biệt cho HA và chuyển đổi dự phòng. Một bản sao chủ/slave được cung cấp (và hoạt động khá tốt), nhưng không hỗ trợ cho việc tự động hóa chuyển đổi dự phòng này. Khách hàng phải đủ thông minh để chuyển sang máy chủ chính xác. Một cái gì đó ở phía máy chủ (nhưng điều này là không xác định) phải chuyển đổi vai trò giữa các nút chính và các nút nô lệ một cách đáng tin cậy. Nói cách khác, Redis chỉ cung cấp giải pháp HA/failover do-it-yourself.
Việc tích trữ phải được triển khai trên phía máy khách (như với memcached). Một số khách hàng có hỗ trợ cho nó, nhưng không phải tất cả chúng. Khách hàng nhanh nhất (hiredis) thì không. Dù sao, những thứ như tái cân bằng phải được thực hiện trên đầu trang của Redis. Redis Cluster được cho là hỗ trợ khả năng sharding như vậy chưa sẵn sàng.
Tôi khuyên bạn nên sử dụng một số giải pháp khác. MongoDB với GridFS có thể là một khả năng. Hadoop với HDFS là một cái khác. Nếu bạn thích các dự án cắt cạnh, bạn có thể muốn thử nghiệm Elliptics Network.
Nguồn
2012-01-09 11:52:42
Hệ thống của bạn cần lưu trữ * tệp *, bạn nói không? Đây chắc chắn là một yêu cầu duy nhất mà không ai phải đối mặt trước đây! Tôi tự hỏi nếu ... không, không có gì đến với tâm trí. Tôi chúc bạn may mắn phát minh ra điều này ... "hệ thống tập tin", như tôi cho rằng người ta có thể gọi nó. –