ITKeyword,专注技术干货聚合推荐

注册 | 登录

[置顶] 如何在嵌入式产品中应用键值存储数据库

zhutianlong 分享于 2015-07-01

2020腾讯云7月秒杀活动,优惠非常大!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1040

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:armink.ztl@gmail.com】 1、背景 随着互联网快速发展及大数据时代的到来,NoSQL数据库以其强大的可伸缩性、高效性、实时性等特点,而获得十足的发展。键值(Key-Value)存储数据库就是NoSQL的一种,大名鼎鼎的Redis就是一款用C开发的开源键值对存储数据库。 与此同时又有越来越多的厂家加入了IoT产品、可穿戴设备、智能家居的嵌入式产品开发行列中来,数据的持久化存储需求也就变得越来越多,选型一款伸缩性好、占用资源小、稳定性高,并可以应用于嵌入式产品的持久化存储库就显得越来越重要。 2、EasyFlash EasyFlash是一款开源的轻量级嵌入式Flash存储器库,主要为MCU提供便捷、通用的上层应用接口,它提供的主要功能有3种:Env(环境变量)、IAP(在线升级)以及Log(Flash存储日志)。这里主要介绍可以让Flash变为小型键值存储数据库的Env功能。 3、增删改查 下图为通过控制台(终端)来调用环境变量的常用接口,演示了环境变量 “temp” 从创建到保存,再修改,最后删除的过程。这些接口都支持被应用层直接调用。 EasyFlash环境变量功能的API位于https://github.com/armink/EasyFlash/blob/master/docs/zh/api.md#12-环境变量 主要使用方法如下: /* 创建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以及外部 SPI Flash,并支持裸机及RT-Thread嵌入式操作系统。欢迎大家 star and pull request,并提供更多平台的支持及意见。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:armink.ztl@gmail.com】 1、背景 随着互联网快速发展及大数据时代的到来,NoSQL数据库以其强大的可伸缩性、高效性、实时性等特点,

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。