From 851f43206e645322146a468b0b4f605ed8e895fd Mon Sep 17 00:00:00 2001 From: ag Date: Tue, 17 Sep 2024 12:24:31 +0300 Subject: [PATCH] readme --- Readme.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..ab582d3 --- /dev/null +++ b/Readme.md @@ -0,0 +1,14 @@ +# Алгоритм кэширования 2Q +Алгоритм кэширования 2Q (Two Queues) представляет собой метод управления кэш-памятью. Этот алгоритм состоит из двух очередей: q1 и q2. q1 является буфером, в который добавляются данные только в начале и замещаются из конца, а q2 используется для хранения "недавно использованных" данных. + +# Принцип работы +Когда данные добавляются в кэш, они помещаются в начало q1. +Если данные извлекаются из кэша, они перемещаются из q1 в начало q2. +Если данные снова запрашиваются и они находятся в q2, они перемещаются в конец q1. +Если данные снова запрашиваются и их уже нет в кэше, они добавляются в начало q1, а если q1 заполнена, то данные из конца q1 удаляются и добавляются новые данные в начало q1. +# Преимущества +## Эффективность: алгоритм 2Q обладает хорошей производительностью и способен эффективно управлять кэш-памятью. +## Адаптивность: алгоритм автоматически регулируется в зависимости от обращаемости данных, приспосабливаясь к изменениям в запросах. +## Недостатки +Не подходит для всех типов данных: алгоритм 2Q неэффективен для случаев, когда данные необходимо хранить в определённом порядке. +Сложность реализации: реализация алгоритма кэширования 2Q может быть более сложной, чем у других методов управления кэш-памятью.