Мне интересно, какое окончательное решение для управления кешем. , скажем, у меня есть один сервер и неограниченное количество клиентов, подключенных к нему. клиенты продолжают отправлять поисковые запросы на сервер (позволяет вызывать запрос на поиск клиента -'x '), а сервер отвечает клиенту с некоторым -'y'. сейчас, чтобы ускорить работу своей поисковой системы, я хочу сохранить самые популярные запросы (x) в кэш-памяти и их ответы (y). (обратите внимание, что это важно для всех тех же x, что клиенты отправляют на сервер, они должны получать одинаковые y). У меня также есть база данных, в которой хранятся все предыдущие запросы (x, y, z-число запрошенных раз x).Управление кешем в поисковой системе
Я встретил некоторые проблемы при обновлении кэша:
, как я могу сказать, в какой индекс мой наименее популярный запрос остается в кэше, для того, чтобы заменить его, если я найти более популярный запрос внутри моей базы данных (без сканирования всего кеша, конечно).
Как обновить кеш? (просто сканировать всю базу данных? Это довольно дорогостоящая операция)
3. Как много элементов запроса должен содержать мой кеш?
4. Как вы думаете, HashMap - эффективная структура данных для хранения кеша (я работаю с java).
5.i думал о обновлении моего кеша на основе последних запросов T- (некоторого числа) и не обновлял его при просмотре всех запросов в базе данных. , потому что, возможно, есть запросы, которые были очень популярны, и они больше не популярны, и если есть новый популярный запрос, это может занять много времени, пока оно не попадет в кэш на основе количества шоу (оно также должно быть быстрее, поскольку мне не нужно сканировать всю базу данных). является ли законным способом управления кешем?
Этот вопрос слишком широк для StackOverflow. Кроме того, вопрос не просит помощи с кодом, который вы уже написали; это более концептуально. – CConard96