Wendal Chen 9 месяцев назад
Родитель
Сommit
279913a798
1 измененных файлов с 18 добавлено и 40 удалено
  1. 18 40
      components/fskv/luat_lib_fskv.c

+ 18 - 40
components/fskv/luat_lib_fskv.c

@@ -7,25 +7,9 @@
 @demo    fskv
 @tag     LUAT_USE_FSKV
 @usage
--- 本库的目标是替代fdb库
--- 1. 兼容fdb的函数
--- 2. 使用fdb的flash空间,启用时也会替代fdb库
--- 3. 功能上与EEPROM是类似的
 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. 写入数据         恒定           脏数据影响速度,非恒定
-6. 均衡擦除         自动           自动
-]]
 */
 
 #include "luat_base.h"
@@ -48,20 +32,14 @@ extern luat_sfd_lfs_t* sfd_lfs;
 #endif
 static int fskv_inited;
 
-// static char fskv_read_buff[LUAT_FSKV_MAX_SIZE];
-
 /**
 初始化kv数据库
 @api fskv.init()
 @return boolean 成功返回true,否则返回false
 @usage
 if fskv.init() then
-    log.info("fdb", "kv数据库初始化成功")
+    log.info("fskv", "kv数据库初始化成功")
 end
-
--- 关于清空fdb库
--- 下载工具是没有提供直接清除fdb数据的途径的, 但有办法解决
--- 写一个main.lua, 执行 fskv.kvdb_init 后 执行 fskv.clear() 即可全清fdb数据.
  */
 static int l_fskvdb_init(lua_State *L) {
     if (fskv_inited == 0) {
@@ -98,10 +76,10 @@ static int l_fskvdb_init(lua_State *L) {
 @usage
 -- 设置数据, 字符串,数值,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}))
+log.info("fskv", fskv.set("wendal", "goodgoodstudy"))
+log.info("fskv", fskv.set("upgrade", true))
+log.info("fskv", fskv.set("timer", 1))
+log.info("fskv", fskv.set("bigd", {name="wendal",age=123}))
  */
 static int l_fskv_set(lua_State *L) {
     if (fskv_inited == 0) {
@@ -217,22 +195,22 @@ static int l_fskv_set(lua_State *L) {
 -- 本API在2023.7.26新增,注意与set函数区别
 -- 设置数据, 字符串,数值,table,布尔值,均可
 -- 但不可以是function, userdata, task
-log.info("fdb", fskv.sett("mytable", "wendal", "goodgoodstudy"))
-log.info("fdb", fskv.sett("mytable", "upgrade", true))
-log.info("fdb", fskv.sett("mytable", "timer", 1))
-log.info("fdb", fskv.sett("mytable", "bigd", {name="wendal",age=123}))
+log.info("fskv", fskv.sett("mytable", "wendal", "goodgoodstudy"))
+log.info("fskv", fskv.sett("mytable", "upgrade", true))
+log.info("fskv", fskv.sett("mytable", "timer", 1))
+log.info("fskv", fskv.sett("mytable", "bigd", {name="wendal",age=123}))
 
 -- 下列语句将打印出4个元素的table
-log.info("fdb", fskv.get("mytable"), json.encode(fskv.get("mytable")))
+log.info("fskv", fskv.get("mytable"), json.encode(fskv.get("mytable")))
 -- 注意: 如果key不存在, 或者原本的值不是table类型,将会完全覆盖
 -- 例如下列写法,最终获取到的是table,而非第一行的字符串
-log.info("fdb", fskv.set("mykv", "123"))
-log.info("fdb", fskv.sett("mykv", "age", "123")) -- 保存的将是 {age:"123"}
+log.info("fskv", fskv.set("mykv", "123"))
+log.info("fskv", fskv.sett("mykv", "age", "123")) -- 保存的将是 {age:"123"}
 
 
 -- 如果设置的数据填nil, 代表删除对应的key
-log.info("fdb", fskv.sett("mykv", "name", "wendal"))
-log.info("fdb", fskv.sett("mykv", "name")) -- 相当于删除
+log.info("fskv", fskv.sett("mykv", "name", "wendal"))
+log.info("fskv", fskv.sett("mykv", "name")) -- 相当于删除
 -- 
  */
 static int l_fskv_sett(lua_State *L) {
@@ -301,7 +279,7 @@ static int l_fskv_sett(lua_State *L) {
 @return any 存在则返回数据,否则返回nil
 @usage
 if fskv.init() then
-    log.info("fdb", fskv.get("wendal"))
+    log.info("fskv", fskv.get("wendal"))
 end
 
 -- 若需要"默认值", 对应非bool布尔值, 可以这样写
@@ -391,7 +369,7 @@ static int l_fskv_get(lua_State *L) {
 @string key的名称,必填,不能空字符串
 @return bool 成功返回true,否则返回false
 @usage
-log.info("fdb", fskv.del("wendal"))
+log.info("fskv", fskv.del("wendal"))
  */
 static int l_fskv_del(lua_State *L) {
     if (fskv_inited == 0) {
@@ -440,7 +418,7 @@ if iter then
         if not k then
             break
         end
-        log.info("fdb", k, "value", fskv.kv_get(k))
+        log.info("fskv", k, "value", fskv.kv_get(k))
     end
 end
  */
@@ -493,7 +471,7 @@ static int l_fskv_next(lua_State *L) {
 @return int 总kv键值对数量, 单位个
 @usage
 local used, total,kv_count = fskv.status()
-log.info("fdb", "kv", used,total,kv_count)
+log.info("fskv", "kv", used,total,kv_count)
 */
 static int l_fskv_stat(lua_State *L) {
     size_t using_sz = 0;