本文作者:kris

mysql 某字段插入随机数(插入随机数到MySQL数据库)-mysql给字段随机赋值

kris 2025-01-15 21:32:47 2
mysql 某字段插入随机数(插入随机数到MySQL数据库)-mysql给字段随机赋值摘要: PHP+mysql+redis一次性生成大量随机数,怎么保证重复率低、快速存储?看你要的随机数有多大然后能接受多大的重复率吧假设你要0到1亿之间取随机数:取1千个随机数,不做去重操...

PHP+mysql+redis一次性生成大量随机数,怎么保证重复率低、快速存储?

看你要的随机数有多大然后能接受多大的重复率

假设你要0到1亿之间取随机数:

mysql 某字段插入随机数(插入随机数到MySQL数据库)-mysql给字段随机赋值

图片来源:网络

取1千个随机数,不做去重操作的重复率是多少大概可以通过数学建模分析出来,能接受的话大可直接用php内置的随机函数去生成就好;

取10万个随机数,可以适当用redis做缓存,做下随机做下去重处理;

取百万千万级的随机数,即使redis再快再大也不得不考虑下内存的大小了,还有时间空间的复杂度的计算了,可以适当用点“伪随机”策略了,如分片处理,假设取1千万个随机数,先从0到1千万的分片中取1百万个随机数,用redis做部分缓存去重处理,处理完成后,清理redis的缓存转入下一个分片处理,以此类推直到取完。

以上就是大概策略,另外一个快速存取的要求就是尽可能批量处理,比如无论如何先生成三五千个随机数作为一批,然后去重(redis),然后插入MySQL中这样。

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/23829.html发布于 2025-01-15 21:32:47
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享