Не бих използвал Redis за такава задача. Други продукти ще бъдат по-подходящи IMO.
Redis е хранилище за данни в паметта. Ако искате да съхранявате 10-20 TB данни, ще ви трябват 10-20 TB RAM, което е скъпо. Освен това разпределителят на паметта е оптимизиран за малки обекти, а не за големи. Вероятно ще трябва да изрежете вашите файлове на различни малки парчета, няма да е много удобно.
Redis не предоставя ad-hoc решение за HA и отказ. Осигурена е главна/подчинена репликация (и работи доста добре), но без поддръжка за автоматизацията на това преодоляване на срив. Клиентите трябва да са достатъчно умни, за да преминат към правилния сървър. Нещо от страна на сървъра (но това не е посочено) трябва да превключи ролите между главни и подчинени възли по надежден начин. С други думи, Redis предоставя само HA/failover решение „направи си сам“.
Разделянето трябва да бъде внедрено от страна на клиента (като при memcached). Някои клиенти имат поддръжка за това, но не всички. Най-бързият клиент (hiredis) не го прави. Както и да е, неща като ребалансиране трябва да се прилагат върху Redis. Redis Cluster, който трябва да поддържа подобни възможности за разделяне, все още не е готов.
Бих предложил да използвате някои други решения. MongoDB с GridFS може да бъде възможност. Hadoop с HDFS е друг. Ако харесвате авангардни проекти, може да искате да опитате Elliptics Network.