Необходима помощь, по доработке "друзей"
На странице профиля показываются все друзья, я думаю, что лучше показывать 6 друзей и выводить их рандомно.
Битый час уже сижу и думаю над реализацией. Ничего кашерного в голову не пришло, ведь сам запрос надо кешировать и выводить друзей из кеша, чтобы он не сильно бил по серверу (в плане нагрузки).
Есть один выход, но он совсем не комильфо. Нагрузку будет создавать неимоверную.
Я в маппере user в функции GetUserFriends изменил запрос:
Нужна хотя бы наводка, куда копать.
Битый час уже сижу и думаю над реализацией. Ничего кашерного в голову не пришло, ведь сам запрос надо кешировать и выводить друзей из кеша, чтобы он не сильно бил по серверу (в плане нагрузки).
Есть один выход, но он совсем не комильфо. Нагрузку будет создавать неимоверную.
Я в маппере user в функции GetUserFriends изменил запрос:
SELECT
uf.user_from,
uf.user_to
FROM
".Config::Get('db.table.friend')." as uf
WHERE
( uf.user_from = ?d
OR
uf.user_to = ?d )
AND
( uf.status_from + uf.status_to = ?d
OR
(uf.status_from = ?d AND uf.status_to = ?d )
)
ORDER BY RAND()
LIMIT 6;
Нужна хотя бы наводка, куда копать.
3 комментария
Пока оставлю как временное решение.