применение хеш-таблиц в кеше - PullRequest
0 голосов
/ 02 сентября 2011

Я прочитал вики-страницу о хэш-таблице. потом я увидел что-то вроде этого:

Хеш-таблицы могут использоваться для реализации кешей, вспомогательных таблиц данных, которые используются для ускорения доступа к данным, которые в основном хранятся на медленных носителях.

Интересно, как хеш ускоряет кеш? Кто-нибудь может рассказать мне об этом?

1 Ответ

1 голос
/ 02 сентября 2011

Каждый доступ к кешу требует вычисления хеш-кода ключа поиска, и каждое добавление к кешу также должно знать хеш-код. Интеллектуальный кеш, который объединяет две операции («поиск по ключу; если он не существует, извлекает правильное значение и кеширует его»), может потенциально избежать необходимости дважды вычислять хеш.

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

В некоторых случаях сами хеши могут быть кэшированы - например, в Java класс String кэширует хеш-код при его первом вычислении. Конечно, будет ли это выгодно, зависит от вашей ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...