mysql产生随机唯一数函数 PHP mysql redis一次性生成大量随机数,怎么保证重复率低、快速存储?
PHP mysql redis一次性生成大量随机数,怎么保证重复率低、快速存储?
让我们
假设你想取0到1亿之间的随机数:
,不做重复数据消除操作的重复率可以通过数学建模来分析。如果可以接受的话,可以直接用PHP内置的随机函数来生成;
,可以适当使用redis作为缓存,在机器上做重新处理;
,即使redis速度快,体积大,也要考虑内存的大小,除了计算时间和空间的复杂度外,我们可以适当使用“伪随机”策略,如碎片化处理。假设我们取1000万个随机数,首先从0到1000万个分区取100万个随机数,然后使用redis进行部分缓存去重处理。处理完成后,清除redis缓存并移动到下一个碎片处理,依此类推,直到检索完成。
例如,您可以将三千或五千个随机数分成一个批,然后重新查找它们并将它们插入mysql。
如何利用SQL随机查询出指定数量的数据?
虽然它们都使用SQL,但不同的数据库有不同的写入方法来完成此操作。以50个项目为例。
select*from[table name]where[condition]order by Rand()limit 50
select top 50*from[table name]group by[ID]order by newid()
mysql产生随机唯一数函数 mysql中rand函数 mysql生成随机数
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。