Laravel --實戰(zhàn)篇 UUID(唯一識別碼)

一、ramsey/uuid的實現(xiàn)方式

機器hash(防止多臺機器之間ID沖突)
進程ID(防止多進程沖突)
時間戳(秒)
自增值(同一秒內(nèi)自增)
該方法號稱是1000年以內(nèi)不會出現(xiàn)重復(fù)數(shù)據(jù)的一種算法id(具體情況是不是這樣,博主也無從得知,沒有用那么大的數(shù)據(jù)量去特意做個測試)。

二、適用場景

為什么說我在每個項目中基本上都用到這個組建呢,記得博主當初剛剛步入程序員的時候經(jīng)常為各個表的自增id的關(guān)聯(lián)查詢而頭疼 什么uid 、tuid 、 suid ....后來使用唯一識別id后大大減輕了這種負擔。

1.用戶唯一識別id
2.多商家時 產(chǎn)品唯一識別id
3.訂單號
4.多表時的唯一識別id

還有很多不做一一列舉...
三、使用方法

在Laravel的根目錄中執(zhí)行:

composer require ramsey/uuid

最簡單直接的引入方法

// 命名空間
use Ramsey\Uuid\Uuid;

$data = Uuid::uuid1();
$str = $data->getHex();    //32位字符串方法

dd($str);

里面的各種長度可以自定義獲取。另外Uuid的靜態(tài)方法有多少呢?

$data = Uuid::uuid1();
$data = Uuid::uuid2();
$data = Uuid::uuid3();
$data = Uuid::uuid4();
//括號里面也可以根據(jù)具體業(yè)務(wù)添加參數(shù)
$data = Uuid::uuid1('123123123');
$data = Uuid::uuid1(time());
...
...
如果用在用戶身上,基本上每個用戶從注冊開始就相當于綁定了一個身份證

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 : 一般的唯一識別id都是各種時間戳、毫秒級時間戳加php內(nèi)置函數(shù)或者加上隨機數(shù)等手段來生成的。 下面給大家...
    曹軒躍閱讀 12,507評論 0 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 轉(zhuǎn)載自http://blog.csdn.net/qq295445028/article/details/79930...
    WebSSO閱讀 3,141評論 0 3
  • 語言和文字是無法盡情闡述思想中的領(lǐng)悟的。 逝去的偉大哲學(xué)家們,試圖把他們的領(lǐng)悟傳遞給我們。我們在書中去感受他們,并...
    bert5閱讀 336評論 0 0
  • 鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓鵝鵝餓...
    龍龍lu閱讀 301評論 0 0

友情鏈接更多精彩內(nèi)容