Перейти к основному содержимому

1.10. Кэш

Разработчику Аналитику Архитектору

Кэш

Когда есть несколько процессов, которым понадобятся данные, буферизация позволяет процессу положить данные, и переходить дальше, продолжая работу, не ожидая завершения обработки данных вторым процессом, обеспечивая многозадачность. Пример буферизации – кэширование. ★ Кэш – промежуточный буфер с быстрым доступом к нему, как раз для кэша используется память с большей скоростью доступа. Набор данных в основной памяти, как и в кэше, состоит из набора записей, где у каждой записи есть индекс (номер, идентификатор, как пункт в таблице), и кэш использует ещё один идентификатор, называемый «тег», который содержит номер индекса из основной памяти. Причем, основной памятью мы называем оперативную память, а временной – кэш-память. Таким образом:

  • есть хранилище (диск), основная память (ОЗУ) и временная память (буфер, кэш);
  • основная память содержит индексы для каждой записи в наборе данных:
Индекс основной памятиДанные
0Кот
1Собака
2Гусь
  • временная память содержит тег, который равень индексу из основной памяти:
Индекс кэшаТег (индекс основной памяти)Данные
02Гусь
10Кот
  • кэш-память используется как дополнительный компонент процессоров, оперативной памяти, и многих других устройств. Таким образом, читая книгу по страницам, вам проще все страницы держать у себя на столе, чем бежать за каждой страницей в библиотеку. Так и работает буфер.

image.png


А чтение и запись?

Чтение (Read) – процесс получения данных из источника:

  • файла на диске;
  • оперативной памяти;
  • сети (например, загрузка веб-страницы).

Запись (Write) – процесс сохранения данных в определенное место:

  • в файл;
  • в базу данных;
  • на сервер.