我将mqtt.js与mqtt-level-store一起使用。我不知道在这里如何使用leveldb及其工作方式。
mqtt.js将数据放入存储中,并在数据成功上传后将其删除。
我将设备保持离线状态2天,然后让它在商店中收集数据(每分钟140 KB)
将其放到网上之后,它上传了很多数据,然后停止了。现在它只是上传新的传入数据,所以我猜它已经上传了所有内容。
但是,在使设备联机之前,我看到其中有大约230 MB的文件。 所有上传完成后,文件仍然存在。再上传几次新的数据后,一些文件被删除,但是,仍然有大约190 MB的文件。
是否缺少我的设置?这种清理是如何发生的?
答案 0 :(得分:1)
从Google documentation我们知道提供了db的压缩
当级别L的大小超过其限制时,我们将其压缩在后台线程中。压缩从级别L中选择一个文件,并从下一级别L + 1中选择所有重叠的文件。请注意,如果级别L文件仅与级别(L + 1)文件的一部分重叠,则级别(L + 1)处的整个文件将用作压缩的输入,并且在压缩后将被丢弃。
。 。
在每次压缩结束和恢复结束时调用DeleteObsoleteFiles()。
根据我的经验,您需要稍等片刻。数据库将及时清理。