Tôi sẽ không sử dụng Redis cho một nhiệm vụ như vậy. Các sản phẩm khác sẽ phù hợp hơn với IMO.
Redis là một 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, điều này khá 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 đối tượng lớn. Bạn có thể phải cắt các tệp của mình thành nhiều phần nhỏ khác nhau, điều đó 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ủ / nô lệ được cung cấp (và hoạt động khá tốt), nhưng không có 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 đúng máy chủ. 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ủ và 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 / chuyển đổi dự phòng do-it-yourself.
Sharding phải được thực hiệ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 (được thuê) 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 Redis. Redis Cluster được cho là sẽ hỗ trợ các khả năng sharding như vậy vẫn chưa sẵn sàng.
Tôi sẽ đề nghị 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 tiên tiến, bạn có thể muốn dùng thử Mạng Elliptics.