Правильная подгрузка постов для бесконечной прокрутки
Собираюсь сделать сабж. Если бы делал через старую добрую пагинацию, здесь ничего сложного - из базы бы извлекались данные, ограниченные limit x,y
, которые вычисляются, зависимо от номера страницы.
При подгрузке результатов при прокрутке страницы вниз, обычные лимиты - не самое лучшее решение, потому что, пока юзер читает посты, лента может обновляться и изменяться порядок постов в ленте (сортируется по дате последнего коммента, создания или рейтингу поста).
- Если выбирать из базы при помощи лимитов - некоторые посты будут пропускаться или загружаться дважды (напр. если плюсанули пост, до которого я не дошел - он всплывет наверх, и вытеснит ленту вниз, т.е. подгрузится 1 лишний пост).
- Если в запросе на подгрузку отправлять ИДы всех загруженных постов, чтобы не загружать ничего лишнего - запрос будет занимать около 2 кб, если уже загружено 500 постов (даже если привести ИДы в бинарный вид!)
Как лучше всего сделать?
Источник: Stack Overflow на русском