Only the first thread retrieves the URL during cache misses

Uses redis as a distributed mutex server. ZooKeeper is overkill

[Finishes #66832176]