2014-10-30 3 views
0

iOS 앱에서 sqlite를 사용합니다. 때로는 런타임에 sqlite 파일을 대체하고 닫은 후 연결을 다시 엽니 다. 그러나 sqlite는 종종 새 파일에 연결될 때 이전 파일에서 쿼리 결과를 반환하는 것으로 보입니다. 내 생각 엔 지금까지는 이전 파일에서 페이지 캐시를 유지하고 사용하는 것입니다.어떤 상황에서 SQLite의 페이지 캐시가 지워지나요?

제 질문은 이것입니다 : 어떤 상황에서 SQLite의 페이지 캐시가 삭제됩니까?

답변

0

알 수 있습니다. 나는 모든 나의 연결을 걷고 있었고, 각각을 닫고 다시 열었다. 간단히 모두 닫았을 때 필요에 따라 나중에 다시 열 수있게되면 캐시가 지워진 것처럼 보였습니다. 내 생각에 캐시는 파일 단위가 아닌 연결 단위이며, 파일에 대한 모든 연결이 닫히면 다시 설정됩니다. 이것은 다중 스레드 환경에서 달성하기 까다로울 수 있습니다.

관련 문제