本文作者:kris

mysql生成随机字符串函数分享-mysql 生成随机字符串

kris 2025-01-30 02:00:05 3
mysql生成随机字符串函数分享-mysql 生成随机字符串摘要: mysql数据库有多条姓名相同的人,但年龄不同,可以在查询时随机显示哪一条吗?SELECT * FROM tablename ORDER BY RAND() LIMIT 1 随机从...

mysql数据库有多条姓名相同的人,但年龄不同,可以在查询时随机显示哪一条吗?

SELECT * FROM tablename ORDER BY RAND() LIMIT 1 随机从表中提取一条数据,你可以在后面在写上where 姓名=xxx

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

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

mysql生成随机字符串函数分享-mysql 生成随机字符串

图片来源:网络

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

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

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

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

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

文章版权及转载声明

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

阅读
分享