Скажите, что у меня есть таблица с кучей записей, которую я хочу случайным образом представить пользователям.Я также хочу, чтобы пользователи могли разбивать страницы на страницы и обратно, поэтому я должен соблюдать какой-то порядок, по крайней мере, на некоторое время.
Приложение в основном только AJAX и использует кэш для уже посещенных страниц,поэтому, даже если я всегда получаю случайные результаты, когда пользователь пытается вернуться, он получает предыдущую страницу, потому что она загружается из локального кэша.
Проблема в том, что если я возвращаю только случайные результатымогут быть некоторые дубликаты.Каждая страница содержит 6 результатов, поэтому, чтобы избежать этого, я должен был сделать что-то вроде WHERE id NOT IN (1,2,3,4 ...)
, где я бы поместил все ранее загруженные идентификаторы.
Огромным недостатком этого решения является то, что оно не будетможно кэшировать что-либо на стороне сервера, поскольку каждый пользователь будет запрашивать разные данные.
Альтернативным решением может быть создание еще одного столбца для упорядочивания записей, и shuffle это каждые введите здесь единицу времени .Проблема здесь в том, что мне нужно было бы установить случайное число из последовательности для каждой записи в таблице, которая бы принимала столько запросов, сколько существует записей.
Я использую Rails и MySQL, если этолюбой актуальности.