Penguin

An Acronym for Least Frequently Used.

This is a Cache entry expiry strategy. On cache miss, the least frequently used record is discarded from cache to be replaced by the data read for the request which caused the cache miss.

While this approach leads to very efficient utilization of the Cache's capacity, it requires complex bookkeeping. The overhead incurred is rarely worth the effort and only pays off if a cache miss is many orders of magnitude more expensive than a cache hit. Even HardDisk Caches, where the disparity between hit and miss is a factor of about 1,000, LFU may not achieve significantly better performance than LRU.

One situation where LFU may be more efficient is where there are two classes of user, one (such as a WebCrawler) accesses every storage unit in the underlying data store in turn and one (such as real people) accesses the underlying data store with high locality of refererence. In this situation the real people will not see any distrubance in the cache caused by the WebCrawler if LFU is used, but the cache will be cleared by LRU.