有个频繁读写本地 sqlite 数据库的需要,因为不确定内存会被消耗多少,不想一次性读取所有数据。分析过也不能用 sqlite 自带的事务。
脑洞大开,能不能把 sqlite 的数据库文件以二进制方式读取到内存,然后在 Sqlite3 的连接选项里面选这个位于内存中的文件?
主要就是把每次工作新获得的数据与 sqlite 文件里已有的数据作比较,如果存在同名为 N 的属性 A,就更新 数据表里面属性 A 为这个名称 N 的属性 B 的值,否则就把新数据追加到数据表里。
已有的数据也就十几万条,但是实际上能占 800M 内存,考虑到以后可能还会增多。