我有一个巨大的(>10GB)sqlite 数据库,它在许多(最多 CPU 核心数)进程(相同的可执行文件)之间共享。这是一个专门的应用程序,所以 RAM 不是问题,我想在内存中缓存尽可能多的数据库。我已经发现PRAGMA cache_size;
并且我正在成功使用它,但这会使 RAM 使用不成比例,因为许多进程中的每一个都有自己的私有缓存。
现在,我找到了SQLite 共享缓存模式,但我看不出这是否适用于不同的进程或仅适用于一个进程中的线程。我已经运行了一些测试来确认后者,但我不确定我是否做错了什么,或者是否需要做其他事情来完成这项工作。