博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎样在嵌入式产品中应用键值存储数据库
阅读量:6338 次
发布时间:2019-06-22

本文共 951 字,大约阅读时间需要 3 分钟。

【 声明:版权全部。欢迎转载。请勿用于商业用途。 联系信箱:armink.ztl@gmail.com】

1、背景

随着互联网高速发展及大数据时代的到来。NoSQL数据库以其强大的可伸缩性、高效性、实时性等特点,而获得十足的发展。键值(Key-Value)存储数据库就是NoSQL的一种,大名鼎鼎的Redis就是一款用C开发的开源键值对存储数据库。

与此同一时候又有越来越多的厂家增加了IoT产品、可穿戴设备、智能家居的嵌入式产品开发行列中来,数据的持久化存储需求也就变得越来越多,选型一款伸缩性好、占用资源小、稳定性高。并能够应用于嵌入式产品的持久化存储库就显得越来越重要。

2、

是一款开源的轻量级嵌入式Flash存储器库,主要为MCU提供便捷、通用的上层应用接口,它提供的主要功能有3种:Env(环境变量)、IAP(在线升级)以及Log(Flash存储日志)。这里主要介绍能够让Flash变为小型键值存储数据库的功能。

3、增删改查

下图为通过控制台(终端)来调用环境变量的经常使用接口,演示了环境变量 “temp” 从创建到保存,再改动。最后删除的过程。

这些接口都支持被应用层直接调用。

EnvDemo

EasyFlash环境变量功能的API位于

主要用法例如以下:

/* 创建Key名为temp的环境变量,并赋初值"123" */ef_set_env("temp","123");/* 改动环境变量temp的值为"456" */ef_set_env("temp","456");/* 读取环境变量temp的值 */char *temp = ef_get_env("temp");/* 删除环境变量temp */ef_set_env("temp","");

4、使用场景

眼下笔者已应用EasyFlash的产品。主要存储下面内容

  • 1、产品上电的执行參数;
  • 2、执行记录;
  • 3、用户可编辑的參数;
  • 4、软件断言及硬件异常等系统崩溃日志;
  • 5、在线升级时的Bootloader与APP之间的交互參数;
  • 6、很多其它存储内容有待大家去挖掘……

5、Demo

眼下已移植硬件平台有 stm32f10x与 stm32f4xx 系列的片内Flash,并支持裸机及嵌入式操作系统。欢迎大家 。并提供很多其它平台的支持及意见。

你可能感兴趣的文章
今天的学习
查看>>
面试必问之JVM原理
查看>>
mysql主主同步+Keepalived
查看>>
研究音频编解码要看什么书
查看>>
tomcat远程调试配置
查看>>
人机交互方式的演变
查看>>
修改CentOS Linux的时间可以使用date指令
查看>>
专业程序员必知的技巧
查看>>
javascript 基础
查看>>
我的友情链接
查看>>
从Check Point 官网使用Google Chrome 下载补丁需要特别注意的地方
查看>>
我的友情链接
查看>>
vim 纵向编辑
查看>>
Vsftp精解之安装配置及原理(一)
查看>>
我的友情链接
查看>>
思科路由与交换系列--------NA系列
查看>>
FragmentPagerAdapter不能更新fragment的问题
查看>>
Zepto源码分析(1)——类型判断函数
查看>>
阿里AoneFlow分支管理模式-个人理解
查看>>
LAMP环境下搭建discuz论坛
查看>>