Хешовете на Redis са добри за съхранение на по-сложни данни, както предлагате във вашия въпрос. Използвам ги точно за това - за съхраняване на обекти с множество атрибути, които трябва да се кешират (по-конкретно, данни за инвентара за конкретен продукт в сайт за електронна търговия). Разбира се, бих могъл да използвам конкатениран низ - но това добавя ненужна сложност към моя клиентски код и актуализирането на отделно поле не е възможно.
Може да сте прав - уроците може просто да са от преди въвеждането на хешовете. Те са ясно проектирани за съхраняване на представяния на обекти:http://oldblog.antirez.com/post/redis-weekly-update-1.html
Предполагам, че един проблем би бил броят на командите, които Redis трябва да обслужва, когато се вмъкне нов елемент (n брой команди, където n е броят на полетата в хеша) в сравнение с обикновена команда String SET. Все още не открих, че това е проблем за услуга, която удря Redis около 1 милион пъти на ден. Използването на правилната структура от данни за мен е по-важно от незначителното въздействие върху производителността.
(Също така, моля, вижте моя коментар относно Redis Sets срещу Redis Strings – мисля, че въпросът ви се отнася до Strings, но поправете ме, ако греша!)