Simple LRU cache implementation