actually use redis to store data