PHP, jQuery - о мгновенной реализации поиска - PullRequest
0 голосов
/ 11 ноября 2011

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

Теперь я хотел бынравится держать этих друзей в переменной, но я заблудился.Что было бы лучшим способом сделать это.Я уже храню информацию о пользователе с друзьями в $_SESSION, но было бы здорово иметь эту клиентскую сторону.Я подумываю о том, чтобы сохранить это в cookie, но мне интересно, подойдет ли он этим 4 КБ, если я попытаюсь сохранить массив с сотнями пользователей.Как лучше всего это осуществить?Есть мысли?

1 Ответ

0 голосов
/ 11 ноября 2011

Используете ли вы таблицу перекрестных ссылок в БД, чтобы отслеживать, кто с кем дружит? Я думаю, что это хороший способ решить эту проблему, если вы этого не сделаете, и тогда вам нужно будет только запросить эту таблицу, чтобы найти друзей.

...because there types of friends...
Значит ли это, что есть разные типы друзей?

Упрощенно, у вас может быть таблица с тремя столбцами: person_id , friend_id , friend_type (если это было необходимо). Person_id и friend_id являются ссылками на один и тот же тип идентификатора. Когда два человека становятся друзьями, вы добавляете их идентификаторы в таблицу и указываете, какие они друзья.

Если вы действительно хотите сделать это на стороне клиента, я думаю, что localStorage может быть чем-то интересным, но может поддерживаться не всеми браузерами. localStorage может занимать около 10 МБ (если я не ошибаюсь) памяти. Загружайте список друзей, когда пользователь заходит на сайт в первый раз. Я бы, наверное, пошел на сеанс на стороне сервера, но это только мое мнение.

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