М, красиво, но вместо одного запроса нужно делать 30 для получения полной истории. А с учётом шардинга - их даже не собрать в getMany.
шардиннг конечно по юзеру, поэтому собрать, доставать не проблема, даже если логика в этом месте не прямолинейная ее можно заимплементить как lua функции исполняющиеся прямо рядом с данными в redis