【问题标题】:SQLite WAL-mode, in-memory, database with private cache?SQLite WAL 模式,内存中,具有私有缓存的数据库?
【发布时间】:2015-04-06 03:29:48
【问题描述】:

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

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

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

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

WAL-mode docs

【问题讨论】:

    标签: sqlite vfs wal


    【解决方案1】:

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

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

    【讨论】:

    • 有没有办法在内存数据库上获得读取快照隔离?
    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 2019-09-22
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2020-03-13
    • 2014-06-25
    • 1970-01-01
    相关资源
    最近更新 更多