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

问题描述:

我正在研究依赖WAL日志模式在Sqlite中提供的读快照隔离的项目。它使用多个连接到相同的数据库,以允许并发读者和一个作家。具有私有缓存的SQLite WAL模式,内存中数据库?

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

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

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

WAL-mode docs

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

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

+0

有什么办法可以在内存数据库中获得读取快照隔离? – skabbes 2015-02-07 00:05:33