Qual seria a maneira 'usual' de armazenar essa estrutura de dados (ou não?)
Por exemplo, harry e sally seriam armazenados cada um em hashes separados, onde os campos representariam suas propriedades, como idade e peso. Em seguida, a estrutura definida conteria todos os membros (harry, sally, ...) que você armazenou no redis.
Você seria capaz de obter diretamente um valor (por exemplo, obter harry:idade?)
Sim, consulte HGET ou HMGET ou HGETALL.
Uma vez armazenado, você pode alterar diretamente o valor de uma subchave (por exemplo, sally :weight =100)
Sim, consulte HSET.