Каков наилучший способ «кэшировать» часто меняющиеся результаты поиска - PullRequest
1 голос
/ 29 января 2010

В настоящее время я занимаюсь разработкой приложения для интрасети ASP.NET. Одна из функций этого приложения позволяет пользователям искать элементы, чтобы управлять ими (редактировать, удалять и т. Д.).

В настоящее время я не использую какой-либо вид кэширования (поскольку результаты поиска меняются так часто); однако, когда поиск пользователя приводит к примерно 4 тысячам элементов, системе требуется почти 13 секунд, чтобы вернуться. Поскольку результаты поиска не сохраняются между запросами страницы, страница будет обрабатывать 13 секунд для любой обратной передачи, выполняемой на странице (сортировка, разбиение по страницам, ... что угодно).

Я занимался исследованием кэширования ASP.NET, но не думаю, что оно действительно предназначено для целей кэширования результатов, которые часто меняются.

Что я хотел бы знать, так это лучший способ кэшировать / сохранять результаты поиска?

Session? (Это уже раздувается с другими данными ...)

Спасибо, что поделились своими мыслями,

-Frinny

Ответы [ 3 ]

3 голосов
/ 29 января 2010

Звучит так, будто у тебя две проблемы.

Требуется 13 секунд, чтобы вернуть результат слишком долго. Вам нужно оптимизировать этот запрос и получить ответ менее секунды.

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

0 голосов
/ 29 января 2010

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

0 голосов
/ 29 января 2010

Вы не хотите показывать неверные данные. Лучше всего придерживаться пейджинга и использовать AJAX для быстрого доступа к серверу, чтобы перейти на следующую страницу.

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