add redis
add async