Synopsis Whenever space for new objects were not found in the disk, cache_replacement_policy tag determines which objects in the cache memory (disk) should be replaced. The cache replacement policies is of four types. They are,
Policy
|
Explanation
|
lru
|
Squid's original list based LRU policy
|
heap GDSF
|
Greedy-Dual Size Frequency
|
heap LFUDA
|
Least Frequently Used with Dynamic Aging
|
heap LRU
|
LRU policy implemented using a heap
|
This applies to any cache_dir lines listed below this. The lru policies keeps recently referenced objects.
The heap GDSF policy optimizes object hit rate by keeping smaller popular objects in cache so it has a better chance of getting a hit. It achieves a lower byte hit rate than LFUDA though since it evicts larger (possibly popular) objects.
The heap LFUDA policy keeps popular objects in cache regardless of their size and thus optimizes byte hit rate at the expense of hit rate since one large, popular object will prevent many smaller, slightly less popular objects from being cached.
Both policies utilize a dynamic aging mechanism that prevents cache pollution that can otherwise occur with frequency-based replacement policies. For more information about the GDSF and LFUDA cache replacement policies see https://www.hpl.hp.com/techreports/1999/HPL-1999-69.html and https://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html. Note
If using the LFUDA replacement policy you should increase the value of maximum_object_size above its default of 4096 KB to maximize the potential byte hit rate improvement of LFUDA.
Arguments
policy
|
One of the above mentioned policies
|
Example(s) cache_replacement_policy heap LFUDA
|