use redis hash instead of list+json_encode