在什么情况下SQLite中的页面缓存被清除?

时间:2014-10-30 20:53:55

标签: ios sqlite caching

我在iOS应用中使用sqlite。有时我会在运行时替换sqlite文件并关闭并重新打开与它的连接。但是当连接到新文件时,sqlite似乎经常从旧文件返回查询结果。到目前为止,我的猜测是它以某种方式保留并使用旧文件中的页面缓存。

所以我的问题是:在什么情况下SQLite的页面缓存会被删除?

1 个答案:

答案 0 :(得分:0)

知道了。我正在走过我所有的关系,关闭并重新打开每个。当我简单地关闭它们(并根据需要让它们稍后按需重新打开)时,缓存似乎被清除了。我的猜测是缓存是按文件而不是每个连接,并且在关闭文件的所有连接时它会被重置。在多线程环境中实现这一点非常棘手。