forget about redis, I think it is a bad design