随机结果分页

Joh*_*ong 6 html php

我目前有一个包含随机生成的订单列表的数据列表.现在没有分页,因此我很容易生成一个随机排序的列表.随着我的数据列表的增长,由于所有数据,它会变慢,因此明显的解决方案是分页.我的分页问题是每次页面加载时我都不能随机生成订单,所以我和我的经理得出结论,列表必须提前预先生成并重新生成每x个时间.现在的问题是我们如何存储这个生成的列表?我们提出了四种选择:

  1. 会话(占用服务器上的ram)
  2. Cookie(传输更多数据.想想传输给用户的数千个整数值)
  3. 平面文件(实现可能需要一些时间.不是一个极端的数量,但比其余的长一点)
  4. 数据库(一个cron作业将运行x个时间并对所有记录进行大量更新.我们担心如果数据太多,如果人们在更新期间点击服务器,可能会降低系统速度.)

如果有任何其他解决方案似乎比预先生成的基于时间的列表更好,我很乐意听到它们.

谢谢.

更新:我真的喜欢的答案,但由于某种原因被删除,是有人提到使用SEED,然后我可以存储种子而不是ID列表,这将减少我的数据存储并简化一切.我刚刚测试了解决方案,它几乎完美无缺.唯一的问题是,当我使用LIMIT时,一切都会搞砸.有没有人对此提出建议?我不想每次都生成所有数据,我只想使用LIMIT*,. 如果我将它与种子一起使用,那么数字总是会重置,就像它应该的那样.

希望这是有道理的.当我考虑它时,它更有意义,而不是它的结果.

Kev*_*vin 4

Mysql RAND()接受种子作为可选参数。使用种子,每次都会返回相同的随机结果集。

您可以做的是在第一个页面请求上用 PHP 生成一个随机种子,并使用查询字符串将其传递到每个页面。

编辑:抱歉,我没有意识到解决方案已经发布但已被删除。