DataStoreService

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
服務
未複製

DataStoreService 揭示方法獲得 GlobalDataStoreOrderedDataStore 對象。 資料存取僅可由遊戲服務器訪問,因此您只能在 0>Class.DataStoreService0>

參閱「數據存取」了解有關數據結構、管理、錯誤處理等方面的深度指南。

範例程式碼

DataStore Budget

local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end

概要

屬性

  • 未複製
    本機使用者安全性
    平行讀取

    設定資料存取功能是否應該自動重試。DataStoreService 因技術原因而無法執行此操作,因此您必須自行實現重試操作。

方法

屬性

AutomaticRetry

未複製
本機使用者安全性
平行讀取

設定資料存取功能是否應自動重試。

DataStoreService 不遵守此屬性,因為技術原因而導致自動重試被禁用。因此,您必須自行實現退出操作的機制。 可能會在未來導致自動重試被啟用。

方法

GetDataStore

此功能會建立一個 DataStore 實例,並且以提供的名稱和範圍提供。與此方法的後續呼叫會以相同的對象返回相同的對物件。

使用 scope 參數將操作限制在該範圍內,因為它會自動預先將範圍預付給所有操商店 商家上的鑰匙。此功能也接受可選的 DataStoreOptions 實例,其包括啟用 AllScopes 的選項。 查看 1>數據存取</

參數

name: string

數據存取商商店 商家的名稱。

scope: string

(可選)) 一個指定範圍的字串。

預設值:"global"
options: Instance

(可選) A DataStoreOptions 實例來啟用實驗性功能和 v2 API 功能。

預設值:"nil"

返回

Class.DataStore 實例,包含指定名稱和可選範圍。

GetGlobalDataStore

此函數返回預設 GlobalDataStore。如果您想要存取特定名稱的資料存檔,您應該使用 Class.DataStoreService:GetDataStore() 函數。


返回

範例程式碼

Get GlobalDataStore Instance

local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)

GetOrderedDataStore

此方法會返回 OrderedDataStore ,與 GetDataStore() 的方式相似。與 GlobalDataStores 的後續呼叫此方法會返回相同的對物件。

參數

name: string
scope: string
預設值:"global"

返回

範例程式碼

OrderedDataStore Basics

local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()

GetRequestBudgetForRequestType

此功能返回當前位置可以根據指定的 Enum.DataStoreRequestType 來執行的數據存取請求數量。任何超出此預算的請求都將受到限制。監視並調整使用此功能來調整數據存取請求頻率是重要的。

參數


返回

範例程式碼

Print Request Budget

local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end

ListDataStoresAsync

暫停

返回一個 DataStoreListingPages 對象,用於檢索所有體驗的數據儲存。它接受可選的 prefix 參數,以僅僅找到名稱為所提供參數的數據儲存。

只有包含至少一個對象的資料才會以此功能列出。

參數

prefix: string

(可選) 預碼列,用於列出開始以指定樣子的資料存取。

預設值:""
pageSize: number

(可選) 每個頁面要返回的項目數量。預設為 32 個。

預設值:0
cursor: string

(可選) 滑鼠指針以繼續執行。

預設值:""

返回

DataStoreListingPages 實例,包含 DataStoreInfo 實例,提供名稱、創建時間和最後更新時間等詳細資訊。

活動