位置: 编程技术 - 正文

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

  • 人力资源公司怎么和企业谈合作
  • 二手房买卖避税违法吗
  • 个人开不动产租赁发票税率
  • 对公账户要收手续费吗
  • 淘宝网店女装
  • 税金及附加现金流指定
  • 小规模纳税人转让土地使用权
  • 年终奖金怎么扣税划算
  • 材料已入库后收货怎么写
  • 出口样品账务处理
  • 公司增资麻烦吗?
  • 备用金可以银行贷款吗
  • 支付银行借款利息属于现金使用范围吗
  • 投资利息收入要交所得税吗
  • 员工被单位罚款须要问单位要收据吗
  • 公司账户电子承兑
  • 什么情况下要交消费税
  • 电梯管理费属什么类别
  • 公司购进的商品自己用的,税金怎么走账
  • macOS Big Sur 11.0.1(20B29)正式版发布(附可使用的Mac机型)
  • 存货跌价准备借贷方表示的含义
  • 公司给员工交纳社保
  • 员工报销款应该挂什么科目
  • 企业提取盈余公积会引起所有者权益变动吗
  • 武侯祠红墙在哪个门
  • 日本东京秋叶原攻略
  • 开办费对应的现金流量项目
  • 退休返聘人员是否享受工会福利
  • php记录页面停留多久
  • win11开机后开始菜单没反应
  • opencv模板匹配原理
  • css响应式布局插件
  • 可供出售金融资产公允价值变动
  • 计提本月工资社保怎么扣
  • 增量留抵税额退还举例
  • 筹备期间费用怎么做分录
  • 邀请客户参加会议
  • 买轿车产生的服务费计入什么科目
  • 公司年度汇算
  • 小规模租金可以抵税吗
  • 雇用残疾人税收优惠
  • 基本社会保险制度范围
  • 服装租赁费的税率是多少
  • 企业转让固定资产发生的费用可扣除吗
  • 开红字发票如何调整收入?
  • 冲销主营业务收入怎么做分录
  • 工资表的重要性
  • 公益性捐赠支出计入什么科目
  • 工程结算材料款抵扣增值税
  • 持有至到期投资在资产负债表怎么填
  • 免征的附加税怎么做账
  • 其他应收款款项性质如何填写
  • 营改增后建筑企业如何正确开具发票
  • 为什么看科目四看不进去呀
  • 工程物资盘盈为什么冲减在建工程
  • 折旧年限的最新规定 汽车
  • 业务提成怎么做账内账
  • sql server中删除触发器用
  • Linux下MySQL5.7.18二进制包安装教程(无默认配置文件my_default.cnf)
  • win10怎么设置定时关机和开机
  • mac版cad2022使用教程
  • linux scp命令的用法详解
  • centos如何配置ip
  • mac怎么设置
  • windows7禁止开机启动
  • win8系统咋样
  • 为什么我无法更改某些设置电脑
  • 电脑安装win8
  • win10系统优化的方法
  • opengl二维绘图函数
  • linux怎么设置
  • 批处理应用实例
  • vue stylus
  • shell执行多个命令
  • js生成excel文件
  • 如何查询汽车发票
  • 深圳地税电子税务局
  • 江苏税务缴费小程序
  • 郝姓家谱辈分查询
  • 建筑行业的公司近期出现的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设