怎么提升大量读写key-value时的效率
应用场景:从服务器上下发1万对key(8 byte)-value(20 byte)到外部FLASH,,当用户刷卡时,会生成一个key,需要对比本地所存储key,并进行对比; 现象:遍历1万个 8 byte的卡号,需要169秒,这个时间是无法接受的。 问题:怎么能够高效的遍历这1万个key;
将第一个字节排序,或者建个表,首先查第一个字节,在依次查后面8个字节
感谢,我大概的思路跟您差不多。我是把把key做为一个表,单独存放,value是固定字节数,需要读数据的时候,先云存放key的表里去读取index,得到下标后,就用下标*value字节数做为地址,然后再去读这个地址。
试试这两天新增的 V5.0 beta 吧,支持多个表以后,对于效率会提升多
试试这两天新增的 V5.0 beta 吧,支持多个表以后,对于效率会提升多
感谢大大,我这两天会移植试下,然后给您反馈下使用情况。
@zsurge 大佬,有两个疑问点,想请教一下您的。第一个是,key做成一个表,是存放在哪里呢?第二个是,key修改后,原来存放数据的位置被标记为dirty了,数据会存放到新的地址。如果表里的key顺序不变,用下表*value字节得到的地址是dirty的。是不是表里的key顺序也要变化了?