位置: 编程技术 - 正文

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的时间戳)

  • 一般纳税人金税盘抵税会计分录
  • 怎么添加临时办社保卡
  • 员工离职社保未及时减员怎么处理
  • 半成品怎么结转到成品
  • 个税和社保基数不一致会影响上海落户吗
  • 发票只能全部冲开吗
  • 新成立公司交税
  • 准予以后纳税年度结转扣除的项目有
  • 怎么让银行同意商转公
  • 公司给非员工代缴社保合法吗
  • 两个其他应收款的区别
  • 医院减免医药费后还可以报保险吗
  • 两笔不同业务能做一个凭证吗
  • 以前年度漏记一笔短期借款但本金利息支出记账了
  • 劳动合同的履行包括什么原则
  • 企业所得税期末贷方余额怎么办
  • 年终奖和当月工资合并申报税
  • 申报状态显示申报失败
  • 印花税是按含税还是不含税缴
  • 水利建设专项收入怎么计算
  • 小规模纳税人季报还是月报?
  • 企业为员工提供住宿会计科目
  • 高新企业减免所得税政策
  • 银行手续费可以汇总记账吗
  • 筹建期间发生的收入
  • 调整以前年度应付工资怎么调
  • 银行的贷款损失准备会计分录
  • 电脑管家lol修复
  • 冲减管理费用的情况
  • 已计提折旧怎么计算
  • linux sar文件
  • 税法规定哪些支出不得扣除
  • win11测试版后续怎么变正式版
  • php curl_init
  • 完美解决索尼电视arc无声音
  • 销售成本属于成本吗
  • 财务管理是如何工作的
  • 出售固定资产减免的税款账务处理
  • ios.开发
  • zendframework3
  • 超市发票是普票还是专票
  • php 面向对象
  • 收车船税是什么
  • 采购和销售都做的叫什么
  • 跨域问题是什么
  • 公司的归属权
  • 金蝶年底结账流程
  • 增值税进项税加计抵扣
  • mysql需要转义的特殊字符
  • 个人如何办理营业执照年检
  • 汇算清缴缴纳的所得税怎么做账
  • 发票过账是什么意思
  • 五金行业怎么开店
  • 企业应该设置哪些部门
  • mysql中排序规则是什么意思
  • sql Set IDENTITY_INSERT的用法
  • sql时间用什么数据类型
  • centos更新命令
  • xp系统怎么装机
  • macpro删除文件
  • linux的top参数
  • windows8用的人少
  • Win10打不开IE浏览器
  • win7旗舰版升级win10
  • windows8快捷键
  • linux计划任务每天执行一次
  • linux安装与部署
  • js正则 \w
  • asp.net runat
  • js遍历获取指定数据
  • unity shader cull off
  • js实现商品分类
  • 实现非常简单的英文
  • 广州车辆购置税官网
  • 海淀区地税局电话
  • 公司买水果怎么开票
  • 监督医院的单位
  • 婚姻登记处婚俗改革宣传
  • 电子税务局网上登录
  • 小规模纳税人是按月还是按季度申报增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设