gpt4 book ai didi

php - 随机结果分页

转载 作者:太空狗 更新时间:2023-10-29 15:09:30 26 4
gpt4 key购买 nike

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

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

如果有任何其他解决方案看起来比预生成的基于时间的列表更好,我很想听听。

谢谢。

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

希望这是有道理的。当我考虑它时,它比结果如何打字更有意义。

最佳答案

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

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

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

关于php - 随机结果分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com