New cache implementation with LRU expiry