问答

汇集网友智慧,解决技术难题

21ic问答首页 - 307rt-thread中用flashdb保存参数的吗?为什么kv越多越慢呢?

嵌入式 RT-Thread FlashDB MCU 沁恒 W25Q32

307rt-thread中用flashdb保存参数的吗?为什么kv越多越慢呢?

dazuo03122023-09-01
      307大家有在rt-thread中用flashdb保存参数的吗?为什么kv越多越慢呢?      由于设备参数太多,估计有2000--3000条。运行日志也需要保存下来。所以我用了w25q32,采用flashdb来保存参数和日志。
但是实际使用中发现flashdb随着参数写入的增多,写入速度越来越慢,读取速度也越来越慢。不知道大家遇到过没有,如何解决这个问题呢?或者有其他嵌入式好用的KV数据推荐吗?


回答 +关注 15
5010人浏览 8人回答问题 分享 举报
8 个回答
  • 在RT-Thread中,可以使用FlashDB来保存参数。 FlashDB是一个基于Flash的键值存储系统,可以将数据以键值对的形式存储在Flash中。

    当存储的键值对越多时,FlashDB的读写操作会变得越慢。这是因为Flash存储器的特性决定了它的读写速度与擦除操作相关。在Flash中,数据是以块的形式进行擦除和写入的,而每次擦除操作需要耗费一定的时间。当存储的键值对越多时,FlashDB可能需要频繁地进行擦除和写入操作,导致速度变慢。

    另外,FlashDB的性能还与底层Flash芯片的性能有关。不同的Flash芯片具有不同的擦除和写入速度,因此在选择Flash芯片时,需要考虑其性能指标以及应用场景的需求。

    为了提高FlashDB的性能,可以尝试以下几种方法:
    1. 减少存储的键值对数量,只保存必要的参数。
    2. 使用更高性能的Flash芯片。
    3. 考虑使用其他存储方式,如RAM或文件系统,根据具体应用场景选择合适的存储方式。

    总之,FlashDB在存储大量键值对时可能会变慢,因此需要根据实际需求和性能要求做出合理的选择。
  • 你还想kv越多越快?
  • 可以保存在外部flash中              
  • kv是什么意思呢              
  • 这个不可以的。              
  • 运行的速度受印象了吗              
  • LIzs6 发表于 2023-9-1 10:20
    具体没有应用过,在RT-Thread论坛有看到你发的贴子,有专家应该给到相关建议了
    https://club.rt-thread.org ...

    是的,但是也确实对于flashdb来说,好像也没什么别的办法了
  • 本帖最后由 LIzs6 于 2023-9-1 10:22 编辑

    具体没有应用过,在RT-Thread论坛有看到你发的贴子,有专家应该给到相关建议了
    https://club.rt-thread.org/ask/question/e411803705e55d99.html
    此外,还找到一个相关的帖子,你可以看一下:
    https://club.rt-thread.org/ask/question/72d906190d487483.html



您需要登录后才可以回复 登录 | 注册