2010-04-25 91 views
9

我想知道格式UUID默認情況下表示在CouchDB中。雖然RFC 4122描述了UUID,如550e8400-e29b-11d4-a716-446655440000,但CouchDB使用連續字符如3069197232055d39bc5bc39348a36417。我已經在他們的wiki和他們的文檔中搜索了一些時間,但是沒有任何結果。CouchDB中的UUID

你知道這是一個不符合RFC的格式嗎?忽略所有的-還是這是一個完全不同的128位表示。

背景是我使用的是在RFC中註明格式的Java UUID。我發現CouchDB風格對於構建內部樹可能更方便,但我希望確保使用一致的實現。

回答

11

從技術上講,我們不會像你注意到的那樣使用ufid的rfc標準。第四版uuids保留了四位的內容來指定uuid的版本。我們也不使用其他實現中常見的連字符來格式化它們。

CouchDB uuids是16個隨機字節格式化爲十六進制。粗略地說,這是一個v4 uuid,但不符合rfc標準。

不管具體情況如何,在實踐中確實沒什麼問題。除非您嘗試進行一些帶外分析,否則通常不應嘗試解釋uuid。 CouchDB永遠不會解釋uuids,我們只依賴於其中涉及的隨機性。

底線是不用擔心它,只是將它們視爲字符串後生成。

+0

謝謝你的回答。 – 2010-04-26 06:18:21