DataStoreService

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ
Không Sao Chép

DataStoreService hiển thị các phương thức để nhận GlobalDataStoreOrderedDataStore đối tượng. Data store chỉ có thể được truy cập bởi các máy

Xem Data Stores cho một hướng dẫn chi tiết về cấu trúc dữ liệu, quản lý, xử lý lỗi, v.v.

Mẫu mã

DataStore Budget

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

Tóm Tắt

Thuộc Tính

  • Không Sao Chép
    Bảo Mật Người Dùng Cục Bộ
    Đọc Song Song

    Đặt whether data store functions should automatically retry or not. DataStoreService không tôn trọng thuộc tính này vì tự động thử lại đã bị vô hiệu hóa do lý do kỹ thuật. Do đó, bạn phải implement hệ thống cho việc thử lại các nhận.

Phương Pháp

Thuộc Tính

AutomaticRetry

Không Sao Chép
Bảo Mật Người Dùng Cục Bộ
Đọc Song Song

Đặt whether data store functions should automatically retry hoặc không.

DataStoreService không tôn trọng thuộc tính này vì lý do kỹ thuật. Do đó, bạn phải thực hiện các hệ thống cho việc thử lại các hành động bằng cách tự mình. Có thể thuộc tính tự động thử lại sẽ được bật lại trong tương lai.

Phương Pháp

GetDataStore

Hàm này tạo một DataStore instância với tên và phạm vi đã được cung cấp. Các lần gọi tiếp theo với cùng tên / phạm vi sẽ trả lại cùng một đối tượng.

Sử dụng scope đối tượng sẽ hạn chế các hoạt động đến phạm vi đó bằng cách tự động kéo dài kích thước khoảng cách đến các mũi tên trong tất cả các hoạt động được thực hiện trên c

Tham Số

name: string

Tên của cửa hàng dữ liệu.

scope: string

(Bắt buộc) Một chuỗi định nghĩa phạm vi.

Giá Trị Mặc Định: "global"
options: Instance

(Tùy chọn) Một DataStoreOptions instance để bật các tính năng thử nghiệm và các tính năng API v2.

Giá Trị Mặc Định: "nil"

Lợi Nhuận

Một DataStore instância với tên cung cấp và phạm vi tùy chọn.

GetGlobalDataStore

Hàm này trả về mặc định GlobalDataStore . Nếu bạn muốn truy cập một cửa hàng dữ liệu được đặt tên riêng thay vào đó, bạn nên sử dụng chức năng Class.DataStoreService:GetDataStore() .


Lợi Nhuận

Mẫu mã

Get GlobalDataStore Instance

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

GetOrderedDataStore

Phương thức này trả lại một OrderedDataStore, tương tự như cách GetDataStore() làm với GlobalDataStores . Các lần gọi tiếp theo với cùng tên/kích thước sẽ trả lại cùng một đối tượng.

Tham Số

name: string
scope: string
Giá Trị Mặc Định: "global"

Lợi Nhuận

Mẫu mã

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

Hàm này trả lại số lượng yêu cầu lưu trữ dữ liệu mà hiện tại địa điểm có thể thực hiện dựa trên Enum.DataStoreRequestType đã được cung cấp. Bất kỳ yêu cầu nào vượt quá giới hạn này đều bị giảm giá. Lưu ý rằng theo dõi và điều chỉnh tần suất yê

Tham Số


Lợi Nhuận

Mẫu mã

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

Sinh Lợi

Đều nhận một DataStoreListingPages đối tượng để đếm tất cả các kho dữ liệu trong trải nghiệm. Nó hỗ trợ một prefix 参数 opzional để chỉ định các kho dữ liệu có tên bắt đầu bằng cấu hình cung cấp.

Chỉ các dữ liệu chứa ít nhất một đối tượng sẽ được liệt kê thông qua chức năng này.

Tham Số

prefix: string

(Tùy chọn) Hệ thống Prefix để đếm dữ liệu lưu khởi đầu bằng cấu hình được cung cấp.

Giá Trị Mặc Định: ""
pageSize: number

(Tùy chọn) Số lượng các mục được trả lại trong mỗi trang. Mặc định là 32.

Giá Trị Mặc Định: 0
cursor: string

(Bắt buộc) Cursor để tiếp tục lặp.

Giá Trị Mặc Định: ""

Lợi Nhuận

DataStoreListingPages một instance đứng chứa DataStoreInfo instances cung cấp chi tiết như tên, thời gian tạo và thời gian cập nhật cuối cùng.

Sự Kiện