diamond: "передача класса конфига в конструктор RedisCache" это совсем не то.
DI это библиотека которая создает объекты сама, объекты при этом ничего о DI не знают, передача конфига подразумевает что RedisCache как минимум знает чтото об этом конфиге, это плохо, по ряду причин.
Dance Macabre: тут вопрос еще для чего ТС это изучает. одно дело просто поиграться (лиц не важно), другое дело на работу устроится (купят и обесепчат), или свою инди игру пилить (и если продавать ее, тогда уже с лицензиями строго).
content-disposition это при загрузке файла (с клиента на сервер). да и человек не спрашивает, что ему нужно знать локальный путь к файлу на машине юзера.