データを保存するには、Class.DataStoreService または DataStoreService を使用して、Class.DataStoreService または 2>Class.MemoryStoreService2> を使用してメモリーストアを使用できます。
あるいは、データを Lua のメモリ内に 保存する Lua タイプと変数を使用して、データストアサービスを使用せずに Lua のメモリ内にデータを保存できます。
データストアを使用するとき
Class.DataStoreService は、セッション間で保持する必要がある長期データを保存します。例えば、ユーザーの進行状況やインベントリのアイテムなど、データストアはエクスペリエンスごとに一貫しています。データストアはエクスペリエンスごとに 2つのタイプのデータストアがあります:標準とオーダー。 標準データストア は、ランクまたはソートされなくても、数値、弦楽器、またはテーブルなどのデータを保存できます。このデータは、キー値のペアとして保存され、各エントリは、データストア内のユニークなキーで構成されているため、取得、更アップデート、または削除できます。 オーダーデータストア は、数字のみを保存できます。各エントリは、データストア内のユニークなキーによって保存され、取得、更アップデート、または削除できます。このデータを数値でランクし、オーダーデータストア で保存できます。詳細は、「オーダーデータストア」を参照
標準データストア | オーダー済みデータストア | |
---|---|---|
データタイプ | 数、文字列、ブールーアン、テーブル。 | 数字のみ。 |
コモンユースケース | ユーザーの進行状況、インベントリアイテム、エクスペリエンス設定など。 | ランキングシステムとリーダーボードは、メモリストアのランキングシステムとリーダーボードとは異なります。このリーダーボードデータは永続的です。 |
過去のバージョンのバックアップ | 以前のバージョンのデータを自動的に 30 日間管理します。 | 以前のデータのバージョンを管理しません。 |
メモリストアを使用するとき
Class.MemoryStoreService は、グローバルリーダーボードやマッチメイキングの待ち列など、必要に応じてすぐに更新またはアクセスする必要がある、一時的なデータをストレージします。メモリストアでは、エクスペリエンス内のすべてのサーバーに、すべてのデータに一貫してアクセスで
メモリストアは一時的なデータを保存することがありますが、グローバルマーケットプレイスなどの永久機能もサポートしています。市場は永久ですが、中にあるアイテムは有効期限があります。
メモリストア | |
---|---|
データタイプ | 45 日以上持続しない必要がある数、文字列、ブール、およびテーブル。 |
コモンユースケース | スキルベースのマッチメイキング、マルチプレイヤーゲーム、デイリーおよび月間ランキングのステータス。 |
Lua のインメモリーストレージを使用するとき
Lua では、メモリ内のストレージを使用して、最小限のレイテンシーでアクセスする必要がある一時データを格納できます。Lua のデフォルトでは、メモリ内のストレージを構成するために追加のステップは必要ありません。
Lua のインメモリストレージ | ||
---|---|---|
データタイプ | 数、文字列、ブールーアン、テーブル。 | |
コモンユースケース | 一意のサーバーセッションに関連するデータであり、パーシステンシーの心配なしに即座に更新できます。 | 例: ユーザーがエクスペリエンスを終了するとリセットされるアクティブバフ、一時的なポイント、および続行中のクエストプログレス。 |
カウンター、タイマー、または状態フラッグのような、変更が頻繁な値。 | 例: ヒットごとに更新されるユーザーのヘルスバー。 | |
大きなアクティブエクスペリエンスで高周波操作の頻度制限を回避する。 | 例: 同じオブジェクトに数十のユーザーがインタラクトするエクスペリエンス。 | |
ゲームロジックを実行するデータ、例えば一時変数やパワーアップ状態など、遅延なしにクイックアクセスが必要な場合。 | 例: ユーザーの現在の攻撃状態または敵の現在の体力、それはインスタントにアクセスでき、外部サービスの呼び出しに伴うラグを避ける必要があります。 | |
1つのサーバー内でのみ重要なマルチプレイヤーインタラクション。 | 例: 共同ミッション体験の共有目標。 |