持久化数据
如何使用内置系统从磁盘存储和检索持久数据。
在 nanos world 中,可以使用简单的函数从磁盘存储和检索数据。
提示
持久化数据可以同时存储在客户端和服务器!
文件格式
持久化数据会自动以 TOML 格式存储在 Package/.data/ 文件夹(服务器端和客户端)中的 PersistentData.toml 文件中。
只有当你调用 Package.SetPersistentData() 时才会创建此文件。
存储与检索数据
所有 PersistentData 文件在包加载时自动加载并存储在内存中。 你可以使用 Package.GetPersistentData() 轻松访问整个文件。
要存储数据,你需要传递一个 key 值,该值会将 any lua 值存储在该键中。
示例
local my_table = {
my_id = 123,
my_data_02 = "data"
}
Package.SetPersistentData("awesome_table", my_table)
-- PersistentData.toml 将为:
-- awesome_table = { my_id = 123, my_data_02 = "data" }
你还可以使用点号表示法在表格中设置单个值:
Package.SetPersistentData("awesome_table.my_data_02", "another data")
-- PersistentData.toml 将为:
-- awesome_table = { my_id = 123, my_data_02 = "another data" }
然后检索数据:
local my_table = Package.GetPersistentData().awesome_table
Console.Log(my_table.my_id)
-- 将会打印:
-- 123