要存儲資料,您可以使用 資料存儲服務 或 DataStoreService 使用 Class.DataStoreService 或 2>Class.MemoryStoreService2> 。
您也可以使用 Lua 類型和變量來 在 Lua 中存儲資料在內存中,而不使用資料或內存存取服務。
何時使用資料儲存
Class.DataStoreService 可以存儲用戶進度、庫存項目等長期資料,需要在會話之間保持存在,這些資料稱為永久資料。資料存儲是按體驗的每個地方分配的,因此每個體驗內的每個服務器都可以存取並更改相同的資料。有兩種類型的資料存儲:標準和排名。 標準資料商店 可以存儲像數字、字串和表這樣的資料,不需要排名或排序。這些資料存儲為鑰匙值對,每個項目都存儲在一個鑰匙值,您可以從中取回、更新或刪除。 命令數據儲存可以儲存數字。 每個項目都被存放在數據儲存中的鑰匙下,您可以取回、更新或刪除。您可以排名並存取此數據以上升或降順的方式。為了更多資訊,請參閱 命令數據儲存。
標準資料存取商店 > | 按需資料存取商店 | |
---|---|---|
資料類型 | 數量、字串、 booleans 和表。 | 只有數字。 |
常見使用案例 | 用戶進度、道具欄項目和體驗設定。 | 永久、持續排名系統和排行榜。與記憶體商店中的排行榜不同,這些排行榜資料是永久的。 |
過去版本備份 | 自動管理您的資料的以前版本,持續30天。 | 不會管理您的資料的舊版本。 |
何時使用內存存儲
Class.MemoryStoreService 是一種高速且低延遲的服務,可以存儲暫時數據,例如全球排行榜或對戰排隊。 與記憶體存取服務相比,每個服務器內的每個地方的數據都可以快速存取和變更。 在記憶體存取服務中,數據在一定期間內過期。
雖然暫時存儲資料,但它們也支持永久功能,例如全球市集。市場是永久的,但內部的物品有過期日。
資料類型 | 不需要持續超過 45 天的數量、字串、 booleans 和桌子。 |
常見使用案例 | 基於技能的匹配、多人遊戲的匹配狀態、每日和每月的排行榜。 |
使用 Lua 中的內存存取器時
您可以使用 Lua 中的內存存取暫時資料,這些資料需要與最小延遲度和無需使用外部服務呼叫資料存取或記憶體儲存的費用來存取。沒有額外的步驟需要設置內存存取,因為它已在 Lua 預設為構建,並且沒有必要使用外部存取資料存取或記憶體儲存。
在 Lua 中的內存存取 > | ||
---|---|---|
資料類型 | 數量、字串、 booleans 和表。 | |
常見使用案例 | 只有在單個伺服器會話中相關的資料,可以立即更新,而不用擔心保持一致性。 | 範例: 啟用的強化效果、暫時點數和持續的任務進度,該用戶離開體驗時會重置。 |
如數量、計時器或狀態旗幟所改變的值。 | 範例:使用者的健康條,會在每次擊中時更新。 | |
避免高頻度操作在大型啟用的體驗中的率限制。 | 範例:幾十個用戶與同一個對物件互動的體驗。 | |
遊戲逻學的資料,例如暫時變數或強化狀態,需要快速存取,而不需要延遲。 | 範例: 使用者的目前攻擊狀態或敵人的目前健康狀態,需要立即可以進行存取,而不會受到資料或記憶體存取所需的延遲。 | |
只在單個伺服器中重要的多人遊戲互動。 | 範例:在合作任務體驗中的共同目標。 |