Locking by key

There have been a couple of times recently where I wanted to implement double-checked locking so that I could pull data from cache and fall back...