Change the cache interface to be asynchronous.  Also remove the key function from the required cache interface.
ignore OSX .DS_Store files.