ID生成器の比較

nimo23:

私はデータベースの主キーとして使用することができます私のアプリケーション内で一意のIDを生成したいです。IDは、アプリケーション(およびないデータベースによる)によって作成されなければなりません。私は私がより良いことのために使用すべき方法疑問に思って:

バージョン1:

// maybe faster and more memory friendly than version 2
// but what about collisions?
var uniqueId = ThreadLocalRandom.current().nextInt()

またはバージョン2:

var uniqueId = UUID.randomUUID().toString()

またはバージョン3:

// maybe the same as version 1
var uniqueId = new SecureRandom().nextInt()

またはより良いもの?

CIAM:

のみが存在するので、両方のバージョン1及び3は、衝突を生成する2^32intの。あなたは、確率を自分で計算する必要があります。

正規のUUID(バージョン2)もランダムであるが、そこで2^128の衝突の可能性は無視できることを意味する、それらの。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=25837&siteId=1