Вы можете использовать LRU. Каждый раз, когда вы обращаетесь к чему-то, не находящемуся в кеше, заменяйте его тем, что использовался кеш дольше всего, и устанавливайте его возраст равным 0, увеличивая все остальные возрасты. Каждый раз, когда у вас есть попадание в кэш, сбрасывайте возраст элемента и увеличивайте все остальные. Это также можно сделать, установив текущую метку времени.
Примечание: LRU часто используется в качестве аппроксимации оптимального алгоритма, который требует знания оракула: замените тот, который не будет использоваться в течение самого длительного времени. LRU хорошо работает, когда местность хороша, и не страдает от аномалии Белади.