GlobalDataStore

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
複製されていません

A グローバルデータストア は、DataStoreService を露出します。

データストアについては、データストアを参照して、データ構造、管理、エラー処理などの詳細ガイドを見てください

順序付けられたデータストアはバージョン管理とメタデータをサポートしていないので、DataStoreKeyInfo は常にnilでキーが含まれるOrderedDataStoreです。バージョン管理とメタデータサポートが必要な場合は、DataStore を使用します。

概要

方法

プロパティ

方法

GetAsync

イールド

この関数は、提供されたキーの最新値と DataStoreKeyInfo インスタンスを返します。キーが存在しないか、最新バージョンが削除されたとしても、両方の返却値は nil です。

キーは最初の既読み取り後、4秒間ローカルでキャッシュされます。これらの 4秒内の GlobalDataStore:GetAsync() 呼び出しは、キャッシュから値を返します。キーの修正 GlobalDataStore:SetAsync() または GlobalDataStore:UpdateAsync() は、キャッシュにすぐに適用され、4秒のタイマーを再起動します。

最新のバージョン前のバージョンなどを入手するには、DataStore:GetVersionAsync() を使用します。

パラメータ

key: string

値が要求されたキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
既定値: "nil"

戻り値

指定されたキーと、バージョンが作成された日付と時刻、およびバージョンを回収する機能を含むデータストアのエントリの値、およびバージョンを回収し、メタデータを取得する機能を含む インスタンス。

IncrementAsync

Variant
イールド

この関数は、提供された量でキーの値を増加させます (両方が整数である必要があります)。

GlobalDataStores の値は、 バージョン管理 で説明されたように、バージョニング に版付けされます。OrderedDataStores バージョン管理はサポートされていないので、このメソッドを注文されたデータストアキーに呼び出すと、現在の値が増加した値で上書きされ、以前のバージョンがアクセスできなくなります。

パラメータ

key: string

値を更新するキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
delta: number

現在の値を増加させる量。

既定値: 1
userIds: Array

(オプション) キーと関連付けるための UserIds のテーブル。

既定値: "{}"

(オプション) DataStoreIncrementOptions 複数の追加パラメータをカスタムメタデータとして結合し、将来の拡張性を可能にするインスタンス

既定値: "nil"

戻り値

Variant

指定されたキーでデータストアのエントリの更新値。

RemoveAsync

イールド

この関数は、指定されたキーを新しい「墓石」バージョンを作成して削除したとしてマークします。これ以前に、削除呼び出しの前の最新バージョンを返します。

この関数を介してキーが削除された後、GlobalDataStore:GetAsync() キーの呼び出しは、nil を返します。古いバージョンのキーは、期限切れしていないと仮定して、DataStore:ListVersionsAsync() および DataStore:GetVersionAsync() を通じてアクセス可能です。

OrderedDataStore はバージョン管理をサポートしていないので、RemoveAsync() キーに OrderedDataStore を呼ぶと永久に削除されます。

削除されたオブジェクトは、30日後に永久に削除されます。

前の値がすでに GlobalDataStore:RemoveAsync() または DataStore:RemoveVersionAsync() で削除された場合、機能はそれぞれ値、nil および nil に対して DataStoreKeyInfo を返します。

パラメータ

key: string

削除するキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""

戻り値

削除前のデータストアの値と、バージョン番号、日付、バージョンが作成された時刻を含む インスタンス、およびバージョンを回収し、メタデータを取得する機能を含む。

SetAsync

Variant
イールド

この関数は、最新の値、UserIds、および指定されたキーのメタデータを設定します。

GlobalDataStores の値は、 バージョン管理 で説明されたように、バージョニング に版付けされます。OrderedDataStores バージョン管理をサポートしていないので、注文されたデータストアキーでこのメソッドを呼び出すと、現在の値が上書きされ、以前のバージョンがアクセス不可能になります。

メタデータの定義は、現在の値に変更がない場合でも、常に値で更新されなければなりません; そうしないと、現在の値が失われます。

データストアに保存されるすべての文字列は、有効でなければなりません UTF-8。UTF-8 では、127 以上の値はマルチバイトコードポイントのエンコードに専用使用されるため、127 以上の単一バイトは有効な UTF-8 ではありません、そして GlobalDataStore:SetAsync() 試みは失敗します。

設定と更新の比較

GlobalDataStore:SetAsync() は、特定のキーの迅速な更新に最適で、書き込み制限にのみカウントされます。しかし、2つのサーバーが同時に同じキーを設定しようとすると、データの不一致が発生する可能性があります。GlobalDataStore:UpdateAsync() は、複数のサーバーの試行を処理するのに安全であるため、変更を行う前に現在のキー値 (最後に更新されたサーバーから) を読み込みます。しかし、書き込み前に読むため、それは少し遅くなり、読み込みと書き込みの制限の両方に対してカウントされます。

パラメータ

key: string

値が設定する定されるべきキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
value: Variant

データストアキーが設定される値。

既定値: ""
userIds: Array

表の UserIds , GDPR 追跡/削除を助けるために強く推奨されます。

既定値: "{}"

(オプション) キー上のメタデータ仕様を許可するインスタンス: DataStoreSetOptions

既定値: "nil"

戻り値

Variant

新しく作成されたバージョンのバージョン識別子。GetVersionAsync() を使用してキー情報を回収するか、RemoveVersionAsync() を使用して削除することができます。

UpdateAsync

イールド

この関数は、データストアからキーの値とメタデータを取得し、2番目のパラメータを通じて指定されたコールバック関数によって新しい値で更新します。コールバックが nil を返す場合、書き込み操作がキャンセルされ、値は変更されないまま残ります。

GlobalDataStores の値は、 バージョン管理 で説明されたように、バージョニング に版付けされます。OrderedDataStores バージョン管理をサポートしていないので、注文されたデータストアキーでこのメソッドを呼び出すと、現在の値が上書きされ、以前のバージョンがアクセス不可能になります。

キーの現在の値を取得してキーの値を設定する短時間の間に、別のゲームサーバーがキーのキーを更新した場合、GlobalDataStore:UpdateAsync() は再び機能を呼び出し、前の呼び出しの結果を無視します。データが保存されるまで、必要な回数だけ機能が呼び出され、 または コールバック関数が返すまで、nil が返されます。これを使用して、データが上書きされないようにすることができます。

データストアに保存されるすべての文字列は、有効でなければなりません UTF-8。UTF-8 では、127 以上の値はマルチバイトコードポイントのエンコードに専用使用されるため、127 以上の単一バイトは有効な UTF-8 ではありません、そして GlobalDataStore:UpdateAsync() 試みは失敗します。

設定と更新の比較

GlobalDataStore:SetAsync() は、特定のキーの迅速な更新に最適で、書き込み制限にのみカウントされます。しかし、2つのサーバーが同時に同じキーを設定しようとすると、データの不一致が発生する可能性があります。GlobalDataStore:UpdateAsync() は、複数のサーバーの試行を処理するのに安全であるため、変更を行う前に現在のキー値 (最後に更新されたサーバーから) を読み込みます。しかし、書き込み前に読むため、それは少し遅くなり、読み込みと書き込みの制限の両方に対してカウントされます。

呼び出し機能

コールバック関数は 2つの引数を受け入れます:

  • アップデート前のキーの現在の値。
  • DataStoreKeyInfo 最新バージョン情報を含むインスタンス (メタデータが使用されていない場合は、この引数は無視できます)。

一方、コールバック関数は最大 3 つの値を返します:

  • キーに設定する新しい値。
  • キーと関連付ける UserIds の配列。DataStoreKeyInfo:GetUserIds() 現在のID が変更されていない限り、既存のID は返されるべきではありません;そうでなければ、すべての既存のID がクリアされます。
  • キーと関連付けるメタデータを含む Luau テーブル。DataStoreKeyInfo:GetMetadata() 現在のメタデータが変更されていない限り、既存のメタデータは返されるべきではありません;そうでないと、すべての既存のメタデータがクリアされます。

代わりにコールバックが nil を返すと、現在のサーバーはキーの更新を試みを停止します。

コールバック関数は生成できないので、 しない は、task.wait() のような呼び出しを含めません。

パラメータ

key: string

値を更新するキー名。データストアにアクセスするときに が trueに設定されている場合、このキー名は「scope/key」のようにオリジナルのスコープと一緒に付け加えられなければなりません。

既定値: ""
transformFunction: function

現在の値と DataStoreKeyInfo をパラメータとして受け取り、新しい値とオプションの UserIds およびメタデータを返す変換関数。

既定値: ""

戻り値

指定されたキーと、バージョンが作成された日付と時刻、およびバージョンを回収する機能を含むデータストアのエントリの更新値、 バージョン番号、日付、および時間を含むメタデータを回収するインスタンス。

イベント