アカウント名:
パスワード:
たとえば、IDを64ビットにして、上位16bitは発行日のUNIX時間の下位16bit、次の32bitはOpenSSLライブラリで作った疑似乱数、次の16bitはOSの疑似乱数発生機能で作った疑似乱数とかにすれば絶対被らない
被らなくなるまで再生成すればいいような単純な話ではないのか
被らないチェックにかかる時間がどんどん長くなっていくわけですね。しかも、IDの生成が並行処理もできず、ボトルネックになるという。
前もって人数分作ってプールしとけばええんや。
誰か一人がまとめて生成するんならそもそも連番でいい。
あ。ユーザ的には連番でもいい感じなの?助かる。
で、プールから同じ番号を平行して取り出すんですね。
採番って結構面倒なんだから巨大なデータに大量の同時アクセスってのが感覚として解らない奴が独自実装するなっての。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
IDは十分長くしておけばランダムIDでも被らない (スコア:1)
たとえば、IDを64ビットにして、
上位16bitは発行日のUNIX時間の下位16bit、
次の32bitはOpenSSLライブラリで作った疑似乱数、
次の16bitはOSの疑似乱数発生機能で作った疑似乱数
とかにすれば絶対被らない
Re: (スコア:0)
被らなくなるまで再生成すればいいような単純な話ではないのか
Re: (スコア:0)
被らないチェックにかかる時間がどんどん長くなっていくわけですね。
しかも、IDの生成が並行処理もできず、ボトルネックになるという。
Re:IDは十分長くしておけばランダムIDでも被らない (スコア:0)
前もって人数分作ってプールしとけばええんや。
Re: (スコア:0)
誰か一人がまとめて生成するんならそもそも連番でいい。
Re: (スコア:0)
あ。ユーザ的には連番でもいい感じなの?助かる。
Re: (スコア:0)
で、プールから同じ番号を平行して取り出すんですね。
採番って結構面倒なんだから巨大なデータに大量の同時アクセスってのが感覚として解らない奴が独自実装するなっての。