2014-10-30 43 views
0

我在iOS应用程序中使用sqlite。有时我会在运行时替换一个sqlite文件并关闭并重新打开它的连接。但是,sqlite通常似乎在连接到新文件时从旧文件返回查询结果。到目前为止,我的猜测是它以某种方式保留和使用旧文件中的页面缓存。在什么情况下SQLite中的页面缓存被清除?

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

回答

0

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

相关问题