update cache, not clear it; avoids cache stampede