[minor] use setex to prevent 2 redis calls