Another file lock here I think - what happens if clientA is reading this file and clientB causes it to update (because the cache timeout has _just_ been hit)?