当前位置: 首页 > news >正文

如何自己做网站推广淘宝客虚拟主机搭建网站源码

如何自己做网站推广淘宝客,虚拟主机搭建网站源码,html网站地图,外贸网站建设合同基础资料 基于Air103开发板:🚗 Air103 - LuatOS 文档 上手:开发上手 - LuatOS 文档 探讨重点 对官方社区库接口类redis的fbd数据库及fskv库的调用及示例进行复现及分析,了解两库的基本原理及操作方法。 软件及工具版本 Luat…

基础资料

基于Air103开发板:🚗 Air103 - LuatOS 文档

上手:开发上手 - LuatOS 文档

探讨重点

对官方社区库接口类redis的fbd数据库及fskv库的调用及示例进行复现及分析,了解两库的基本原理及操作方法。

软件及工具版本

LuatOS@AIR103 base 22.12 bsp V0016 32bit

硬件准备

Air103开发板1块。

简介

fbd库基于FlashDB,提供在flash上保存数据的能力,数据储存方式类似于redis的k-v

demo例程首先判断当前固件是否支持fdb

    -- 检查一下当前固件是否支持fdbif not fdb thenwhile true dolog.info("fdb", "this demo need fdb")sys.wait(1000)endend

如提示:"this demo need fdb"

 则需要取消fdb的注释重新编译:

 编译方法可参考:

https://blog.csdn.net/Medlar_CN/article/details/128456712

LOG:

[2023-02-12 22:05:20.873] I/main auth ok 85104250303938373506004A521456060078 AIR103
[2023-02-12 22:05:20.873] I/main LuatOS@AIR103 base 22.12 bsp V0016 32bit
[2023-02-12 22:05:20.873] I/main ROM Build: Feb 12 2023 22:01:50
[2023-02-12 22:05:20.873] D/main loadlibs luavm 180208 11584 12264
[2023-02-12 22:05:20.873] D/main loadlibs sys   12288 4720 4720
[2023-02-12 22:05:21.904] D/lfs init ok
[2023-02-12 22:05:21.904] I/user.fdb	init complete
[2023-02-12 22:05:22.296] I/user.fdb	boottime	number	2
[2023-02-12 22:05:22.296] I/user.fdb	my_bool	boolean	true
[2023-02-12 22:05:22.300] I/user.fdb	my_int	number	123
[2023-02-12 22:05:22.300] I/user.fdb	my_number	number	1.230000
[2023-02-12 22:05:22.300] I/user.fdb	my_str	string	luatos
[2023-02-12 22:05:22.302] I/user.fdb	my_table	table	{"name":"wendal","age":18}
[2023-02-12 22:05:22.328] I/user.fdb	my_str_int	string	123
[2023-02-12 22:05:22.328] I/user.fdb	1 byte key	string	"123"
[2023-02-12 22:05:22.375] I/user.fdb	my_bool	nil	nil
[2023-02-12 22:05:22.375] I/user.fdb	1	value	123
[2023-02-12 22:05:22.378] I/user.fdb	boottime	value	2
[2023-02-12 22:05:22.378] I/user.fdb	my_int	value	123
[2023-02-12 22:05:22.378] I/user.fdb	my_number	value	1.230000
[2023-02-12 22:05:22.405] I/user.fdb	my_str_int	value	123
[2023-02-12 22:05:22.405] I/user.fdb	my_str	value	luatos
[2023-02-12 22:05:22.408] I/user.fdb	my_table	value	table: 2000A230
[2023-02-12 22:05:22.408] I/user.fdb	iter exit
[2023-02-12 22:05:23.999] I/user.fdb	1.579000

fdb - kv数据库,掉电不丢数据

已适配 Air101/Air103 Air105 ESP32C3 Air780

备注

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

小技巧

本库有专属demo点此链接查看fdb的demo例子

fdb.kvdb_init(name, partition)

初始化kv数据库

参数

传入值类型

解释

string

数据库名,当前仅支持env

string

FAL分区名,当前仅支持onchip_fdb

返回值

返回值类型

解释

boolean

成功返回true,否则返回false

例子

-- fdb库基于 flashdb , 再次表示感谢.
if fdb.kvdb_init("env", "onchip_fdb") then
    log.info("fdb", "kv数据库初始化成功")
end
 
-- 关于清空fdb
-- 下载工具是没有提供直接清除fdb数据的途径的, 但有有办法解决
-- 写一个main.lua, 执行 fdb.kvdb_init  执行 fdb.clear() 即可全清fdb数据.

fdb.kv_set(key, value)

设置一对kv数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

string

用户数据,必填,不能nil, 支持字符串/数值/table/布尔值, 数据长度最大255字节

返回值

返回值类型

解释

boolean

成功返回true,否则返回false

number

第二个为返回为flashdb的fdb_kv_set_blob返回详细状态,0:无错误 1:擦除错误 2:读错误 3:些错误 4:未找到 5:kv名字错误 6:kv名字存在 7:已保存 8:初始化错误

例子

if fdb.kvdb_init("env", "onchip_fdb") then
    log.info("fdb", fdb.kv_set("wendal", "goodgoodstudy"))
end

fdb.kv_get(key, skey)

根据key获取对应的数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

string

可选的次级key,仅当原始值为table时有效,相当于 fdb.kv_get(key)[skey]

返回值

返回值类型

解释

any

存在则返回数据,否则返回nil

例子

if fdb.kvdb_init("env", "onchip_fdb") then
    log.info("fdb", fdb.kv_get("wendal"))
end

fdb.kv_del(key)

根据key删除数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

返回值

返回值类型

解释

bool

成功返回true,否则返回false

例子

if fdb.kvdb_init("env", "onchip_fdb") then
    log.info("fdb", fdb.kv_del("wendal"))
end

fdb.kv_clr()

清空整个kv数据库

参数

返回值

返回值类型

解释

bool

成功返回true,否则返回false

例子

-- 清空
fdb.kv_clr()

fdb.kv_iter()

kv数据库迭代器

参数

返回值

返回值类型

解释

userdata

成功返回迭代器指针,否则返回nil

例子

-- 清空
local iter = fdb.kv_iter()
if iter thenwhile 1 dolocal k = fdb.kv_next(iter)if not k thenbreakendlog.info("fdb", k, "value", fdb.kv_get(k))end
end

fdb.kv_iter(iter)

kv迭代器获取下一个key

参数

传入值类型

解释

userdata

fdb.kv_iter()返回的指针

返回值

返回值类型

解释

string

成功返回字符串key值, 否则返回nil

例子

-- 清空
local iter = fdb.kv_iter()
if iter thenwhile 1 dolocal k = fdb.kv_next(iter)if not k thenbreakendlog.info("fdb", k, "value", fdb.kv_get(k))end
end

fdb.kv_stat()

获取kv数据库状态

参数

返回值

返回值类型

解释

int

已使用的空间,单位字节

int

总可用空间, 单位字节

int

总kv键值对数量, 单位个

例子

-- API2022.07.23 添加
local used,maxs,kv_count = fdb.kv_stat()
log.info("fdb", "kv", used,maxs,kv_count)

fskv - 替代fdb

已适配 Air101/Air103 Air105 ESP32C3 Air780

备注

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

小技巧

本库有专属demo点此链接查看fskv的demo例子

示例

-- 本库的目标是替代fdb库
-- 1. 兼容fdb的函数
-- 2. 使用fdb的flash空间,启用时也会替代fdb库
fskv.init()
fskv.set("wendal", 1234)
log.info("fskv", "wendal", fskv.get("wendal"))--[[ 
fskv与fdb的实现机制导致的差异fskv          fdb
1. value长度        4096           255
2. key长度          63             64
3. 空间利用率(对比)  较低            较高
4. 读取速度         恒定           脏数据影响速度,非恒定
5. 写入数据         恒定           脏数据影响速度,非恒定
]]

fskv.init()

初始化kv数据库

参数

返回值

返回值类型

解释

boolean

成功返回true,否则返回false

例子

if fskv.init() then
    log.info("fdb", "kv数据库初始化成功")
end
 
-- 关于清空fdb
-- 下载工具是没有提供直接清除fdb数据的途径的, 但有有办法解决
-- 写一个main.lua, 执行 fskv.kvdb_init  执行 fskv.clear() 即可全清fdb数据.
size=1 width="100%" noshade style='color:black' align=center>

fskv.set(key, value)

设置一对kv数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

string

用户数据,必填,不能nil, 支持字符串/数值/table/布尔值, 数据长度最大4095字节

返回值

返回值类型

解释

boolean

成功返回true,否则返回false

例子

-- 设置数据, 字符串,数值,table,布尔值,均可
-- 但不可以是nil, function, userdata, task
log.info("fdb", fskv.set("wendal", "goodgoodstudy"))
log.info("fdb", fskv.set("upgrade", true))
log.info("fdb", fskv.set("timer", 1))
log.info("fdb", fskv.set("bigd", {name="wendal",age=123}))
size=1 width="100%" noshade style='color:black' align=center>

fskv.get(key, skey)

根据key获取对应的数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

string

可选的次级key,仅当原始值为table时有效,相当于 fskv.get(key)[skey]

返回值

返回值类型

解释

any

存在则返回数据,否则返回nil

例子

if fskv.init() then
    log.info("fdb", fskv.get("wendal"))
end
size=1 width="100%" noshade style='color:black' align=center>

fskv.del(key)

根据key删除数据

参数

传入值类型

解释

string

key的名称,必填,不能空字符串

返回值

返回值类型

解释

bool

成功返回true,否则返回false

例子

log.info("fdb", fskv.del("wendal"))
size=1 width="100%" noshade style='color:black' align=center>

fskv.clear()

清空整个kv数据库

参数

返回值

返回值类型

解释

bool

成功返回true,否则返回false

例子

-- 清空
fskv.clear()
size=1 width="100%" noshade style='color:black' align=center>

fskv.iter()

kv数据库迭代器

参数

返回值

返回值类型

解释

userdata

成功返回迭代器指针,否则返回nil

例子

-- 清空
local iter = fskv.iter()
if iter then
    while 1 do
        local k = fskv.next(iter)
        if not k then
            break
        end
        log.info("fdb", k, "value", fskv.kv_get(k))
    end
end
size=1 width="100%" noshade style='color:black' align=center>

fskv.iter(iter)

kv迭代器获取下一个key

参数

传入值类型

解释

userdata

fskv.iter()返回的指针

返回值

返回值类型

解释

string

成功返回字符串key值, 否则返回nil

例子

-- 清空
local iter = fskv.iter()
if iter then
    while 1 do
        local k = fskv.next(iter)
        if not k then
            break
        end
        log.info("fskv", k, "value", fskv.get(k))
    end
end
size=1 width="100%" noshade style='color:black' align=center>

fskv.status()

获取kv数据库状态

参数

返回值

返回值类型

解释

int

已使用的空间,单位字节

int

总可用空间, 单位字节

int

总kv键值对数量, 单位个

例子

local used, total,kv_count = fskv.status()
log.info("fdb", "kv", used,total,kv_count)
 

http://www.yayakq.cn/news/35009/

相关文章:

  • 怎么创办个人网站注册公司需要什么材料
  • 成都网站设计排名的公司价格建设网站公司兴田德润i优惠吗
  • 网站建设自学 优帮云杭州it培训
  • 阿里云虚拟主机多个网站吗网页游戏网游
  • 南康区城乡规划建设局网站要解析做邮箱以及网站
  • 建设银行网站支付流程咨询公司注册流程及费用
  • 网站优点介绍cen wordpress
  • 想做网站找哪个公司好唐山网站建设策划
  • 网站建设服务中企动力推荐网络营销案例分析及答案
  • 创口贴设计网站官网营销型网站方案ppt模板
  • 做京东网站需要哪些手续费如何进入公众号
  • 网站seo网络优化frontpg做网站好吗
  • 网站开发前端招聘o2o平台是什么意思啊
  • 南阳网站建设制作网站上怎么做通栏的图片
  • 肇庆网站建设网站建设管理界面
  • 邢台建站企业邮箱内网建站工具
  • 自己做的网站给人攻击了怎么办网站价值排行
  • 做网站开发的商标注册做做网站下载免费
  • 家居装修企业网站源码电脑安装不了wordpress
  • 网站页面外链怎么做广州自助网站推广制作
  • 浦城 做网站百度pc版网页
  • 重庆商城网站建设公司手机商城网站模板
  • 巨鹿网站建设公司北京百度推广电话
  • 联合网站设计wordpress无法进入登录页
  • 网站开发专业的315网站行业
  • 室内设计网课平台哪个好深圳个人债务优化
  • 上海企业网站制作服务网络推广方案xiala11
  • 建设银行网站的登录验证程序安全吗网站 月15g流量够用吗
  • 做电影网站用什么服务器比较好软件开发工具的基本功能有哪些
  • 一个企业网站的建设流程公司网站制作导航