1
0
mirror of https://gitee.com/openLuat/LuatOS synced 2025-08-17 22:18:03 +08:00

add: demo/fskv忘记上传了

This commit is contained in:
Wendal Chen 2023-01-09 15:02:29 +08:00
parent fe43703914
commit 59217b1336

84
demo/fskv/main.lua Normal file
View File

@ -0,0 +1,84 @@
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "fskvdemo"
VERSION = "1.0.0"
-- sys库是标配
_G.sys = require("sys")
sys.taskInit(function()
sys.wait(1000) -- 免得日志刷没了, 生产环境不需要
-- 检查一下当前固件是否支持fskv
if not fskv then
while true do
log.info("fskv", "this demo need fskv")
sys.wait(1000)
end
end
-- 初始化kv数据库
fskv.init()
log.info("fskv", "init complete")
-- 先放入一堆值
local bootime = fskv.get("boottime")
if bootime == nil or type(bootime) ~= "number" then
bootime = 0
else
bootime = bootime + 1
end
fskv.set("boottime", bootime)
fskv.set("my_bool", true)
fskv.set("my_int", 123)
fskv.set("my_number", 1.23)
fskv.set("my_str", "luatos")
fskv.set("my_table", {name="wendal",age=18})
fskv.set("my_str_int", "123")
fskv.set("1", "123") -- 单字节key
--fskv.set("my_nil", nil) -- 会提示失败,不支持空值
log.info("fskv", "boottime", type(fskv.get("boottime")), fskv.get("boottime"))
log.info("fskv", "my_bool", type(fskv.get("my_bool")), fskv.get("my_bool"))
log.info("fskv", "my_int", type(fskv.get("my_int")), fskv.get("my_int"))
log.info("fskv", "my_number", type(fskv.get("my_number")), fskv.get("my_number"))
log.info("fskv", "my_str", type(fskv.get("my_str")), fskv.get("my_str"))
log.info("fskv", "my_table", type(fskv.get("my_table")), json.encode(fskv.get("my_table")))
log.info("fskv", "my_str_int", type(fskv.get("my_str_int")), fskv.get("my_str_int"))
log.info("fskv", "1 byte key", type(fskv.get("1")), json.encode(fskv.get("1")))
-- 删除测试
fskv.del("my_bool")
local t = fskv.get("my_bool")
log.info("fskv", "my_bool", type(t), t)
-- 查询kv数据库状态
-- local used, total,kv_count = fskv.stat()
-- log.info("fdb", "kv", used,total,kv_count)
-- fskv.clr()
-- local used, total,kv_count = fskv.stat()
-- log.info("fdb", "kv", used,total,kv_count)
-- 压力测试
-- local start = mcu.ticks()
-- local count = 1000
-- for i=1,count do
-- -- sys.wait(10)
-- -- count = count - 1
-- -- fskv.set("BENT1", "--" .. os.date() .. "--")
-- -- fskv.set("BENT2", "--" .. os.date() .. "--")
-- -- fskv.set("BENT3", "--" .. os.date() .. "--")
-- -- fskv.set("BENT4", "--" .. os.date() .. "--")
-- fskv.get("my_bool")
-- end
-- log.info("fskv", mcu.ticks() - start)
end)
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!