finer grained cache lock