SQLite中的页面缓存在啥情况下会被清除?
Posted
技术标签:
【中文标题】SQLite中的页面缓存在啥情况下会被清除?【英文标题】:Under what circumstances does the page cache in SQLite get cleared?SQLite中的页面缓存在什么情况下会被清除? 【发布时间】:2014-10-30 20:53:54 【问题描述】:我在 ios 应用程序中使用 sqlite。有时我会在运行时替换一个 sqlite 文件,然后关闭并重新打开与它的连接。但是当连接到新文件时,sqlite 似乎经常从旧文件返回查询结果。到目前为止,我的猜测是它以某种方式保留和使用旧文件中的页面缓存。
所以我的问题是:在什么情况下 SQLite 的页面缓存会被丢弃?
【问题讨论】:
【参考方案1】:知道了。我正在浏览我所有的连接,关闭并重新打开每个连接。当我简单地关闭它们(并让它们在需要时根据需要重新打开)时,缓存似乎被清除了。我的猜测是缓存是每个文件而不是每个连接的,并且当文件的所有连接都关闭时它会被重置。这在多线程环境中可能很难实现。
【讨论】:
以上是关于SQLite中的页面缓存在啥情况下会被清除?的主要内容,如果未能解决你的问题,请参考以下文章
React:useState 钩子中的 setState 在啥情况下会导致重新渲染?