2013-06-10 2 views
0

Я реализовал кэширование в прошлом. Ниже приводится образец, который я использовал, чтобы следовать для реализации уровня услуг поверх хранилищ:Что такое запись через кеш?

T retrieve(String key) 
{ 
    if (cache.contains(key)) 
     return cache.get(key) 

    T obj = repository.get(key); 
    cache.put(key, obj); 
} 


void create(T object) 
{ 
    repository.create(object); 
} 


void delete(String key) 
{ 
    cache.remove(key); 
    repository.delete(key); 
} 

Примечание: проблемы безопасности темы не рассматривается в приведенном выше псевдокоде

Я наткнулся на это слово - писать через кеш, и хотите больше узнать об этом. Я задаю следующие вопросы:

  1. Что такое запись через кеш?
  2. Каким образом кэширование записи отличается от обычного кэширования?
  3. Когда нужно писать через кеширование?
  4. Как выглядит псевдокод для записи через кеш?
  5. Есть ли другие такие различия в кеше?

Спасибо.

ответ

1

В сквозном кэше запись выполняется синхронно с кешем и постоянным хранилищем. В других типах кэшей запись в постоянное хранилище может быть отложена по соображениям производительности.

Википедия описывает основные понятия на common cache writing policies.

0

write through cache- Кэширование сквозной записи - это шаблон кэширования, в котором записи в кэш приводят к записи в базовый ресурс. Кэш действует как фасад базового ресурса. С помощью этого шаблона часто имеет смысл читать через кеш. Кэш диска или памяти, который поддерживает кэширование записи. Данные, записанные процессором в память или на диск, также записываются в кеш. Этот метод не улучшает производительность записи. Однако, если последующая операция чтения требует этих же данных, производительность чтения улучшается, поскольку данные уже находятся в высокоскоростном кеше.

Псевдо-код:

void create(T object) 
{ 
    repository.create(object); 
    cache.put(somekey, obj); 
} 
Смежные вопросы