Saya tidak akan menggunakan Redis untuk tugas seperti itu. Produk lain akan menjadi IMO yang lebih sesuai.
Redis adalah penyimpanan data dalam memori. Jika Anda ingin menyimpan data 10-20 TB, Anda membutuhkan RAM 10-20 TB, yang mahal. Selanjutnya, pengalokasi memori dioptimalkan untuk objek kecil, bukan yang besar. Anda mungkin harus memotong file Anda menjadi beberapa bagian kecil, itu tidak akan terlalu nyaman.
Redis tidak menyediakan solusi ad-hoc untuk HA dan failover. Replikasi master/slave disediakan (dan berfungsi cukup baik), tetapi tanpa dukungan untuk otomatisasi failover ini. Klien harus cukup pintar untuk beralih ke server yang benar. Sesuatu di sisi server (tetapi ini tidak ditentukan) harus mengubah peran antara node master dan slave dengan cara yang andal. Dengan kata lain, Redis hanya menyediakan solusi HA/failover do-it-yourself.
Sharding harus diimplementasikan di sisi klien (seperti dengan memcached). Beberapa klien memiliki dukungan untuk itu, tetapi tidak semuanya. Klien tercepat (hiredis) tidak. Bagaimanapun, hal-hal seperti penyeimbangan kembali harus diterapkan di atas Redis. Redis Cluster yang seharusnya mendukung kemampuan sharding tersebut belum siap.
Saya akan menyarankan untuk menggunakan beberapa solusi lain. MongoDB dengan GridFS bisa menjadi kemungkinan. Hadoop dengan HDFS adalah satu lagi. Jika Anda menyukai proyek mutakhir, Anda mungkin ingin mencoba Elliptics Network.