php 关键字唯一 模块

http://www.oschina.net/p/ukey

使用Twitter的 Snowflake算法, 有兴趣可以了解一下这个算法: https://github.com/twitter/snowflake  

php.ini的配置项:

1[ukey]
2ukey.datacenter = integer
3ukey.worker = integer
4ukey.twepoch = uint64
  • datacenter配置项是一个整数, 用于设置数据中心;
  • worker配置项是一个整数, 用于设置数据中心的机器序号;
  • twepoch配置项是一个64位的整数, 用于设置时间戳基数, 此值越大, 生成的ID越小;


安装:

1cd ./ukey
2$  phpize
3$  ./configure
4make
5sudo make install

 

Ukey提供3个有用的函数: 

  1. ukey_next_id() -- 用于生成唯一ID 
  2. ukey_to_timestamp(ID) -- 用于将ID转换成时间戳 
  3. ukey_to_machine(ID) -- 用于将ID转换成机器信息


使用实例:

01<?php
02$id = ukey_next_id();
03echo $id;
04 
05$timestamp = ukey_to_timestamp($id);
06echo date('Y-m-d H:i:s', $timestamp);
07 
08$info = ukey_to_machine($id)
09var_dump($info);
10?>

liexusong / ukey

Watch 23 Fork 11

PHP unique ID generator — More...

Issues
#1PHP服务重启后。获得ID连不上了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值