位置: 编程技术 - 正文

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

  • 民营医院增值税优惠政策有哪些
  • 支付境外技术服务费代扣代缴所得税账务处理
  • 发票章坏了能自己刻吗
  • 发票印不上字还能用吗?
  • 民间非营利组织会计制度最新版
  • 小规模纳税人和个体工商户的税收政策
  • 转账显示未认证
  • 税务局返还的个税手续费税率
  • 记账汇率是什么意思
  • 企业事故赔偿支出可以抵税吗
  • 公司购车购置税怎么交款
  • 项目经费支出都包括什么
  • 出纳去银行
  • 租赁合同印花税计税依据
  • 增值税留底税怎么计算
  • 财务报告报送与信息采集季报怎么填写
  • 防伪税控服务费减免文件
  • 出差补贴没有发票
  • 信息技术服务在开票系统怎么选
  • 不是公户付的款开发票可以做账吗
  • 怎么加入win11预览计划
  • 合同应收账款减免
  • 预缴附加税款会退税吗
  • 会计科目暂存款是什么意思
  • 赠送积分怎么确认收入
  • 电脑桌面换壁纸的软件
  • php的数据类型主要有哪几种
  • 会计的科类
  • 赊销商品属于什么信用
  • 固定资产清理损失可以税前扣除吗
  • 增值税减免税的征管规定有哪些
  • 没有审计报告的情况说明
  • 企业所得税汇算清缴账务处理
  • php防止抓包
  • 工程物资已到发票怎么开
  • 小微企业怎么给员工交保险
  • 印花税税目税率表新旧对比
  • 企业收到发票冲销怎么办
  • redishi
  • 存货的期末计价属于会计政策吗
  • 扶贫资金入股问题
  • 长期股权投资入账
  • 取得发票没有加税怎么办
  • 企业所得税季报资产总额季初季末
  • 小规模企业免征增值税如何申报
  • 个税手续费返还计入哪个科目
  • 查看db2状态
  • 可以抵扣的进项发票有哪些
  • 关联方往来款如何处理
  • 无法收回的款项怎么记账
  • 施工企业简易计税的依据
  • 贸易中的发票抵押和发票融资
  • 其他货币资金微信和支付宝的管理
  • 产品利润率如何计算
  • sql必会知识
  • 将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
  • Winserver2012下mysql 5.7解压版(zip)配置安装教程详解
  • win8系统安装office2010
  • xp系统好怪哦
  • xp系统的输入法在哪里设置
  • phpstudy中phpmyadmin无法访问
  • 清除cmos后电脑不启动
  • Win7中Remote Procedure Call(RPC)服务能关闭吗
  • 安装ubuntu 20.10
  • win10清理系统盘垃圾
  • win8关机慢怎么办
  • 常用的linux系统版本有哪些
  • perl正则表达
  • perl 时间转换
  • angularjs2
  • android app 开发框架
  • css怎么控制图片位置
  • python中文分词代码
  • 批处理 修改文件名
  • js函数内置函数
  • javascript学习指南
  • jquery动态添加div
  • jquery 插件写法
  • 河南省低保查询官网
  • 深圳国家税务总局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设