LRU cache implementation. Untested.