Кэширование -- что это в программировании/информационных системах (кэш, cache, кеш)
Primary tabs
Forums:
- Кэширование -- в общем случае: перемещение каких-либо данных в такое место/вид, откуда, в случае надобности, их можно будет достать быстрее, чем оттуда, где они были изначально.
- Кэш -- данные в "быстром" хранилище/виде.
Примеры кэширования -- откуда и куда/быстрее-медленнее
Это самое "место" может быть где угодно (как и исходное), лишь бы из него данные извлекались быстрее, так например:
- С компьютера в локальной сети обычно быстрее (при прочих равных), чем с компьютера, находящегося на другом конце света (поэтому если запрос проходит через машину, которая к вам ближе -- можно сохранить)
-- так могут делают интернет-провайдеры (сохранять что-то на своих компьютерах через, трафик через которые идёт к конечным пользователям) или ваши системные администаторы для страниц сайтов, к которым пользователи часто обращаются из своих браузеров обращаются часто. - Из оперативной памяти быстрее чем с диска (почитал раз -- загони в оперативу, если будешь ещё много раз обращаться) -- так делают прикладные программы (напр. фотошоп, чтобы быстрее применять фильтры к большим фото -- переносит их в оперативную память, а не работает с диском).
- Из файла на диске (с готовыми результатами закешированными ранее) часто быстрее чем ждать, пока выполнится какой-то медленный запрос (например SQL) -- так делают приложения, работающие с разными СУБД.
Проблемы кэширования
- Закешированные данные могут устаревать (почему все же периодически приходится его сбрасывать и опять обращаться к более медленному хранилищу)
- "Быстрые" хранилища, в которые складывают популярные (для данной системы) данные, часто (особенно если речь об оперативной памяти) имеют куда меньший объём, чем "медленные" и потому всё и сразу закешировать не получается.
- Log in to post comments
- 6673 reads