redis, with optional cache avoidance