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

Mr_Jing
  • 4.4k

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

先谢谢大家

回复
阅读 7.6k
2 个回答
✓ 已被采纳

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏