SQLite WAL 模式,内存中,带有私有缓存的数据库?

SQLite WAL-mode, in-memory, database with private cache?

我正在做一个项目,该项目依赖于 Sqlite 中 WAL 日志模式提供的读取快照隔离。它使用到同一数据库的多个连接以允许并发读取器和单个写入器。

对于测试,我想使用内存数据库,但据我所知,这需要 SQLITE_OPEN_SHAREDCACHE(这会使 WAL 模式提供的读取快照隔离保证无效)。

有什么方法可以在私有缓存模式下打开到内存中、WAL 模式、SQLite 数据库的多个连接?

这个问题可能有(预先存在的)VFS 解决方案吗?

WAL-mode docs

WAL 模式不适用于内存数据库。

要获得 WAL(和读取快照隔离),您需要使用磁盘上的临时数据库。 (此磁盘可能是 RAM 磁盘。)