位置: 编程技术 - 正文

PHP生成唯一ID之SnowFlake算法(php uniqueid)

编辑:rootadmin

推荐整理分享PHP生成唯一ID之SnowFlake算法(php uniqueid),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php实现唯一登录,php生成guid,php生成guid,php 生成uuid,php生成唯一数字id,php生成唯一标识,php生成唯一标识,php生成唯一标识,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:最近需要做一套CMS系统,由于功能比较单一,而且要求灵活,所以放弃了WP这样的成熟系统,自己做一套相对简单一点的。文章的详情页URL想要做成url伪静态的格式即xxx.html 其中xxx考虑过直接用自增主键,但是感觉这样有点暴露文章数量,有同学说可以把初始值设高一点,可是还是可以通过ID差算出一段时间内的文章数量,所以需要一种可以生成唯一ID的算法。

考虑过的方法有

直接用时间戳,或者以此衍生的一系列方法 Mysql自带的uuid

以上两种方法都可以查到就不多做解释了

最终选择了Twitter的SnowFlake算法

这个算法的好处很简单可以在每秒产生约W个不同的位数字ID(进制)

原理很简单

PHP生成唯一ID之SnowFlake算法(php uniqueid)

ID由bit组成

其中 第一个bit空缺

bit用于存放毫秒级时间戳

bit用于存放机器id

bit用于存放自增ID

除了最高位bit标记为不可用以外,其余三组bit占位均可浮动,看具体的业务需求而定。默认情况下bit的时间戳可以支持该算法使用到年,bit的工作机器id可以支持台机器,序列号支持1毫秒产生个自增序列id。下面是PHP源码

调用方法如下

这里我做了改良 如果机器ID传0 就会去掉这bit 因为有些时候我们可能用不到这么多ID

php格式化时间戳 CMS中一般显示时间比较新的文章需要显示几分钟前,几天前这样,但是一般数据库里面记录的都是时间戳(至少我习惯这样),所以就需要一个转化的

php生成二维码图片方法汇总 第一种方法:1,第一种方法:利用使用最广泛,最方便的Googleapi技术实现;2,php//封装生成二维码图片的函数(方法)/*利用googleapi生成二维码图片$content

详解PHP数据压缩、加解密(pack, unpack) 网络通信、文件存储中经常需要交换数据,为了减少网络通信流量、文件存储大小以及加密通信规则,经常需要对数据进行双向加解密以保证数据的安

标签: php uniqueid

本文链接地址:https://www.jiuchutong.com/biancheng/297056.html 转载请保留说明!

上一篇:php微信公众号开发(4)php实现自定义关键字回复(php微信公众号消息推送)

下一篇:php格式化时间戳(php的时间戳)

  • 其他综合收益影响递延所得税负债吗
  • 制造业的税率是多少啊
  • 小规模公司用什么会计准则
  • 扣缴义务人怎么删除
  • 2019所得税新政策
  • 境外中资企业转让股权的涉税处理
  • 机动车销售发票怎么抵扣
  • 追加的固定资产当月计提折旧吗
  • 免单计入什么科目
  • 负债月末正常余额是什么
  • 公司注销库存商品转营业外收入
  • 哪些政府补助属于国家
  • 冲减留抵税额
  • 物流公司开票税率
  • 文化建设服务费减免
  • 社会团体非限定性净资产
  • 进口货物需要缴纳教育费附加
  • 如何接收银行承兑
  • 银行承兑汇票保证金是什么意思
  • 戴尔笔记本电脑哪款性价比最高
  • 收到政府的专项资金
  • 应收账款怎么做分录
  • linux常见的文本编辑工具有哪些
  • PHP:pg_result_error_field()的用法_PostgreSQL函数
  • 亨茨维尔机场
  • 住房公积金领出来用了影响以后买房贷款吗
  • .net core 开发web
  • 年底社保怎么交
  • 注销公司需要缴纳注册资金吗
  • thinkphp import
  • thinkphp yii
  • react 组件化
  • html中写php
  • 出租车计入什么费
  • 前端架构优化
  • 费用的分摊要注意什么
  • 触发器失败是什么意思
  • 普通发票应怎么开具
  • 职业年金是什么意思?退休后怎么算职业年金?
  • 小规模纳税人在哪里查
  • 仓库转租合同
  • 贸易公司成本如何计算
  • 预交一年的房租怎么做账
  • 金税三期有什么用
  • 营改增会计分录怎么做
  • 工资社保医保计算
  • 离线发票累计金额是多少
  • 三栏明细账本怎样填写
  • 收入的确认条件包括
  • 实收资本调账怎么调
  • 免税蔬菜税额用什么表示
  • 进项税额的ppt
  • 企业内账怎么做
  • 会计账薄按其外形特征不同可以分为
  • 设置mysql数据库字符集的语句
  • 数据库性能优化方法论和最佳实践
  • sqlserver2005iis警告
  • win8.1怎么改win7系统
  • Tech Ed 2008:HPC Server 2008讲解
  • wintogo.exe
  • Win8系统筛选器Smartscreen阻止恶意程序运行
  • ie11怎么打开ie8
  • centos配置yum
  • slpv24s.exe - slpv24s是什么进程
  • 系统用户在哪里
  • mac远程桌面mac
  • windowsxp回收站实际是
  • 如何把旧mac上的所有内容迁移到新mac上
  • Win7笔记本突然wifi功能没了
  • win8.1中文版下载
  • win7虚拟内存最大设置多少
  • 实例的英文
  • 原生js实现仿苹果Siri语音助手特效动画
  • python accdb
  • 编写程序实现将两个文本文件的内容合并
  • 怎么用html做一个留言板
  • Intermediate Unity 3D for iOS: Part 3/3
  • 同业借款的主要用途
  • 广告行业税率6%包含的内容
  • 营改增之前和之后
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设