Redis-haschar är bra för att lagra mer komplex data, som du föreslår i din fråga. Jag använder dem för just det - för att lagra objekt med flera attribut som måste cachelagras (specifikt lagerdata för en viss produkt på en e-handelssida). Visst, jag skulle kunna använda en sammanfogad sträng - men det lägger till onödig komplexitet till min klientkod, och det är inte möjligt att uppdatera ett enskilt fält.
Du kan ha rätt - handledningarna kan helt enkelt vara från innan Hashes introducerades. De var tydligt utformade för att lagra objektrepresentationer:http://oldblog.antirez.com/post/redis-weekly-update-1.html
Jag antar att ett problem skulle vara antalet kommandon Redis måste betjäna när ett nytt objekt infogas (n antal kommandon, där n är antalet fält i hashen) jämfört med ett enkelt String SET-kommando. Jag har inte funnit att detta är ett problem än på en tjänst som träffar Redis cirka 1 miljon gånger per dag. Att använda rätt datastruktur för mig är viktigare än en försumbar prestandapåverkan.
(Se även min kommentar om Redis Sets vs. Redis Strings - jag tror att din fråga syftar på Strings men rätta mig om jag har fel!)