データベースにデータをすばやく挿入する関数があり、関数ごとに一意の整数も格納する必要があります。
丸められたマイクロタイムの使用を検討していましたが、同時に複数のスクリプトが実行されているため、競合が発生するのではないかと心配しています。
誰かが解決策を推奨できますか?
データベースにデータをすばやく挿入する関数があり、関数ごとに一意の整数も格納する必要があります。
丸められたマイクロタイムの使用を検討していましたが、同時に複数のスクリプトが実行されているため、競合が発生するのではないかと心配しています。
誰かが解決策を推奨できますか?
実際、データベースによって ID を増分的に生成するメカニズムを好むはずです。
Python 側でランダム ID を生成するには、uuid モジュールを参照してください。
このモジュールは、不変の UUID オブジェクト (UUID クラス) と、RFC 4122 で指定されているバージョン 1、3、4、および 5 の UUID を生成するための関数 uuid1()、uuid3()、uuid4()、uuid5() を提供します。
RFC 4122 [強調鉱山]に従って:
この仕様は、GUID (Globally Unique IDentifier) とも呼ばれる UUID (Universally Unique IDentifier) の Uniform Resource Name 名前空間を定義します。 UUID は 128 ビットの長さで、空間と時間全体で一意性を保証できます。 UUID は、最初は Apollo Network Computing System で使用され、後に Open Software Foundation (OSF) の Distributed Computing Environment (DCE)、そして Microsoft Windows プラットフォームで使用されました。
この仕様は、OSF (現在は The Open Group として知られています) の親切な許可を得て、DCE 仕様から派生しています。DCE 仕様の以前のバージョンからの情報は、このドキュメントに組み込まれています。
考えられるアプローチはいくつかあります。