Redis не е проектиран да съхранява много големи обекти. Не трябва да съхранявате цялата си колекция в един низ в Redis, а по-скоро да използвате Redis списък или да зададете като контейнер за вашите обекти.
Освен това форматът за туршии не е оптимизиран за пространство ... ще ви е необходим по-компактен формат. Протоколните буфери, MessagePack или дори обикновен JSON вероятно са по-добри за това. Трябва да помислите за прилагане на лек алгоритъм за компресия, преди да съхраните данните си (като Snappy, LZO, Quicklz, LZF и т.н. ...).
И накрая, производителността вероятно е свързана с мрежата. На моята машина извличането на 20 MB обект от Redis отнема 85 ms (не 3 секунди). Сега, ако стартирам същия тест с помощта на отдалечен сървър, той отнема 1,781 секунди, което се очаква в тази 100 Mbit/s мрежа. Продължителността зависи изцяло от честотната лента на мрежата.
Последна точка:не забравяйте да използвате най-новата версия на Redis - бяха направени редица оптимизации за работа с големи обекти.