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

Dịch vụ lưu trữ dữ liệu tiết lộ các phương pháp để lấy GlobalDataStoreOrderedDataStore đối tượng.Các kho dữ liệu chỉ có thể truy cập bởi các máy chủ trò chơi, vì vậy bạn chỉ có thể sử dụng DataStoreService trong một Script hoặc một ModuleScript được sử dụng bởi một Script .

Xem Kho lưu trữ dữ liệu để có 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ã

This code sample prints the request budget for all data store request types.

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

    Xác định xem chức năng lưu trữ dữ liệu có nên tự động thử lại hay không.DataStoreService không tôn trọng thuộc tính này vì lý do kỹ thuật đã vô hiệu hóa việc thử lại tự động.Do đó, bạn phải triển khai các hệ thống để thực hiện lại các hoạt động của riêng mình.

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

Xác định xem chức năng lưu trữ dữ liệu có nên tự động thử lại hay không.

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

Phương Pháp

GetDataStore

Chức năng này tạo một DataStore instance với tên và phạm vi được cung cấp.Các cuộc gọi tiếp theo đến phương thức này với cùng tên/phạm vi sẽ trả về cùng một đối tượng.

Sử dụng tham số scope sẽ hạn chế các hoạt động đến phạm vi đó bằng cách tự động gán phạm vi cho các chìa khóa trong tất cả các hoạt động được thực hiện trên kho dữ liệu.Chức năng này cũng chấp nhận một ví dụ tùy chọn DataStoreOptions bao gồm các tùy chọn để bật AllScopes .Xem Kho dữ liệu để có chi tiết về phạm vi.

Tham Số

name: string

Tên của kho dữ cửa hàng.

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

(Tùy chọn) Một chuỗi xác định phạm vi.

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

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

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

Lợi Nhuận

Một ví dụ DataStore có tên và phạm vi tùy chọn được cung cấp.

GetGlobalDataStore

Chức năng này trả về mặc định GlobalDataStore .Nếu bạn muốn truy cập một kho lưu dữ liệu cụ thể có tên là **** thay vào đó, bạn nên sử dụng chức năng GetDataStore().

Lưu ý rằng DataStore được trả bởi chức năng này luôn luôn sử dụng phạm vi u . Xem Kho lưu trữ dữ liệu để có chi tiết về phạm vi.


Lợi Nhuận

Mẫu mã

The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.

Get GlobalDataStore Instance

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

GetOrderedDataStore

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

Tham Số

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

Lợi Nhuận

Mẫu mã

This code sample demonstrates usage of an OrderedDataStore and pages.

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

Chức năng này trả về số lượng yêu cầu lưu trữ dữ liệu mà vị trí hiện tại có thể thực hiện dựa trên Enum.DataStoreRequestType đã cho.Bất kỳ yêu cầu nào vượt quá ngân sách này sẽ bị hạn chế.Theo dõi và điều chỉnh tần suất yêu cầu lưu trữ dữ liệu bằng cách sử dụng chức năng này được khuyến nghị.

Tham Số

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

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

Trả về một đối tượng DataStoreListingPages để liệt kê qua tất cả các kho dữ liệu trải nghiệmNó chấp nhận một tham số tùy chọn prefix để chỉ tìm các kho dữ liệu có tên bắt đầu với tiền tố cung cấp.

Chỉ các kho 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) Prefix để liệt kê các kho lưu trữ dữ liệu bắt đầu với tiền tố đã cho.

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

(Tùy chọn) Số lượng vật phẩm được trả về trong mỗi trang.Nếu không có giá trị nào được cung cấp, động cơ gửi một giá trị mặc định là 0 cho dịch vụ lưu trữ dữ liệu web, sau đó mặc định là 32 vật phẩm mỗi trang.

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

(Tùy chọn) Cursor để tiếp tục lặp lại.

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

Lợi Nhuận

DataStoreListingPages ví dụ chứa DataStoreInfo ví dụ 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