Maison >développement back-end >tutoriel php >算法 - php如何生成唯一递增数字?

算法 - php如何生成唯一递增数字?

WBOY
WBOYoriginal
2016-06-06 20:36:472083parcourir

1.不接受使用MySQL的自增字段的方法
2.高并发时也一定要确保唯一递增
3.使用C语言编写PHP扩展的方式不算

先谢谢大家

回复内容:

1.不接受使用MySQL的自增字段的方法
2.高并发时也一定要确保唯一递增
3.使用C语言编写PHP扩展的方式不算

先谢谢大家

参考MongoDB的ObjectID算法,可以考虑在ID中包含以下部分来防止冲突

  • 机器hash(防止多台机器之间ID冲突)
  • 进程ID(防止多进程冲突)
  • 时间戳(秒)
  • 自增值(同一秒内自增)

把时间放在最见面可以获得基本递增的效果

UUID1效果类似,PHP有现成实现 https://github.com/ramsey/uuid

递增, 请请求就要排序处理咯.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn