mysql分片及查询,redis一次性生成大量随机数

更新时间:01-22 教程 由 情殇 分享
mysql分片及查询,redis一次性生成大量随机数?

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

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

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

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

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

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

声明:关于《mysql分片及查询,redis一次性生成大量随机数》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2210404.html