Try to reduce lock contention in cache by using trylock instead of lock

This might create starvation -- see comments in diff.