Существует недействительность кэша, поскольку большинство кэшей работают на основе компромисса производительности и емкости.
Рассмотрим твердотельный или жесткий диск. Производительность SSD будет лучше, но объем данных, которые вы можете хранить, будет хуже при том же уровне затрат. Часто люди объединяют их, чтобы получить производительность SSD для часто используемых файлов (например, операционной системы) и HDD для сырой емкости хранения.
Процессоры структурированы в похожей иерархии, где ближайший к процессору самый быстрый, но и самый маленький. Затраты в этом случае - это не только денежные затраты, но и физическое пространство, энергопотребление, производство тепла и т. Д.
- Регистры процессора - самые быстрые, очень маленькие
- Кэши ЦП (также имеют свою собственную иерархию) - быстро, мало
- RAM - средний, большой
Чтобы обеспечить максимальную производительность кэша, необходимо поддерживать наиболее часто используемые элементы, чтобы обеспечить лучшее соотношение попаданий в кэш и пропусков. Мы хотим получать из наших более медленных источников как можно реже. Точно так же из-за ограниченного размера мы должны исключить элементы, к которым обращаются реже всего.
Аннулирование кэша - это стратегия, которую мы будем использовать, чтобы решить, какие предметы выселить и когда, чтобы освободить место для новых предметов, которые с большей вероятностью потребуются снова. Это не применимо, если ваш кэш содержит полное представление какого-либо другого источника данных.