位置: 编程技术 - 正文

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

  • 2021年白酒新政策
  • 管家婆未开账可以录入单据吗
  • 自然人股权转让的纳税筹划
  • 折扣销售销售折扣销售折让有何区别
  • 一般纳税人可以转小规模吗
  • 预交税费怎么做分录
  • 固定资产报废后怎么处理
  • 股权收购的好处
  • 工程发票包括哪些
  • 为什么查询发票显示查无此票
  • 发生广告费用会计分录
  • 退休人员兼职工资交税吗?
  • 进项税转出如何申报纳税
  • 做账的是什么会计
  • 代订住宿费可以开专票吗
  • 利息调整摊销额等于什么
  • 企业所得税法的主要内容
  • 受让股东对出让股东抽逃出资
  • 线上授权经销商
  • 利用Windows Media将二进制文件转音频
  • 债务利率的公式
  • 监事会职权口诀
  • 长期闲置的机器叫什么
  • 对外贸易法律的特征包括
  • 生产企业原材料的订购与运输建模
  • 餐费专用发票怎么抵扣
  • PHP:Memcached::deleteMultiByKey()的用法_Memcached类
  • php ftp功能
  • 基建期土地摊销
  • mds是什么进程
  • 六月雪的养殖方法和浇水时间
  • php gtk
  • 纳税人转登记期限
  • 财税〔2017〕34号文件中提到的科技型中小企业是指哪种企业?
  • thinkphp count
  • php第三方包
  • php正则替换函数怎么写
  • css过渡动画属性
  • remote远程
  • swoole扩展安装
  • 失业保险金退回告知书
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 员工出国公司要承担的责任
  • 固定资产如何分类?
  • 购买方如何开具红字发票给销售方
  • 在建工程的前期工程
  • 解决掉发的有效方法
  • 欠对方钱对方公司已注销
  • 在发票上盖了公章有用吗
  • 土地增值税清算全流程实战案例
  • 可供出售的价格基本上可以估计
  • 一般纳税人什么时候用简易计税
  • 企业经营的利润目标长期化
  • 购礼品送客户分账务处理怎么做
  • 年底盈利但有往年亏损怎么处理
  • 工程款项目的发包人是谁
  • 三方抵账协议做什么科目
  • windows server 2008 64位MySQL5.6免安装版本配置方法图解
  • mysql类似软件
  • winxp关机立马自动重启
  • 电脑xp系统如何
  • 无法收到steam短信代码
  • VMware虚拟机下载
  • opengl绘制图形旋转
  • nodejs的express框架详解
  • android view动画
  • python怎么用
  • jQuery+JSON实现AJAX二级联动实例分析
  • jQuery实现checkbox列表的全选、反选功能
  • 只指定行网络什么意思
  • 黑洞数6174视频
  • python 两个列表一一对应
  • Qt for Android - ANT_HOME is set incorrectly or ant could not be located
  • 我的世界服务器怎么创建
  • 上海地税定额发票在哪开
  • 黔西南州医疗保险报销比例
  • 地税局多措并举工作总结
  • 一般纳税人办理退税流程及手续
  • 税收分类编码1080499
  • 购买税控设备
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设