概要
方法
GetVersionAsync(key: string,version: string):Tuple |
GetVersionAtTimeAsync(key: string,timestamp: number):Tuple |
ListKeysAsync(prefix: string,pageSize: number,cursor: string,excludeDeleted: boolean):DataStoreKeyPages |
ListVersionsAsync(key: string,sortDirection: Enum.SortDirection,minDate: number,maxDate: number,pageSize: number):DataStoreVersionPages |
RemoveVersionAsync(key: string,version: string):() |
API 参考
方法
GetVersionAsync
GetVersionAtTimeAsync
返回
代码示例
按时间检索 DataStore 版本
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("DataStore")
local key = "key-123"
function setData(data)
local success, result = pcall(function()
dataStore:SetAsync(key, data)
end)
if not success then
warn(result)
end
end
function getVersionAtTime(timestamp)
local success, result, keyInfo = pcall(function()
return dataStore:GetVersionAtTimeAsync(key, timestamp.UnixTimestampMillis)
end)
if success then
if result == nil then
print("在此时间找不到版本")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- 之前在 2024/12/02 6:00 UTC 运行
setData("version 1")
-- 之前在 2024/12/02 9:00 UTC 运行
setData("version 2")
-- 打印 "在此时间找不到版本"
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- 打印 "version 1 <version>"
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- 打印 "version 2 <version>"
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)ListKeysAsync
DataStore:ListKeysAsync(
ListVersionsAsync
DataStore:ListVersionsAsync(
参数
| 默认值:"Ascending" |
| 默认值:0 |
| 默认值:0 |
| 默认值:0 |
代码示例
使用日期过滤器检索数据存储版本
local DataStoreService = game:GetService("DataStoreService")
local experienceStore = DataStoreService:GetDataStore("PlayerExperience")
local time = DateTime.fromUniversalTime(2020, 10, 09, 01, 42)
local listSuccess, pages = pcall(function()
return experienceStore:ListVersionsAsync("User_1234", nil, time.UnixTimestampMillis)
end)
if listSuccess then
local items = pages:GetCurrentPage()
for key, info in pairs(items) do
print("键:", key, "; 版本:", info.Version, "; 创建时间:", info.CreatedTime, "; 已删除:", info.IsDeleted)
end
endRemoveVersionAsync