Bu, bu soruyla ilgilidir . JavaScript'te UUID oluşturmak için bu yanıttan aşağıdaki kodu kullanıyorum :
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
Bu çözüm iyi çalışıyor gibi görünüyordu, ancak çarpışmalarla karşılaşıyorum. İşte sahip olduğum şey:
- Google Chrome'da çalışan bir web uygulaması.
- 16 kullanıcı.
- Bu kullanıcılar tarafından son 2 ayda yaklaşık 4000 UUID oluşturulmuştur.
- Yaklaşık 20 çarpışma aldım - örneğin bugün oluşturulan yeni UUID yaklaşık 2 ay önceki ile aynıydı (farklı kullanıcı).
Bu soruna ne sebep oluyor ve bundan nasıl kaçınabilirim?