2015-10-07 58 views
1

我還是無法理解這一點。 我有一個運行多個線程的應用程序。有人能夠從以下基於場景的問題中啓發我嗎?Shared Cache如何在SQLite中工作?

情景

  • 線程1打開一個SQLite數據庫連接,查詢它,從而 緩存一下,有服務器內存讀取裏面。線程1然後關閉 連接
  • 那麼線程2打開SQLite數據庫,進行幾乎類似 查詢主題

問:將線程2能夠從線程1訪問緩存數據,確保更快的查詢(即使線程1已關閉連接)?

回答

0

documentation說:

如果啓用了共享高速緩存模式和[過程]建立到相同的數據庫的多個連接,連接共享單個數據和架構緩存。

在您的方案中,不會同時存在多個連接,因此不會共享任何內容。

+0

感謝您的答案......但在我的情況下,有多個連接..但從兩個獨立的線程...... – user1034912

+0

不,第一個線程在第二個線程打開之前關閉其連接。 –

+0

哦,所以如果線程2在線程2連接時保持打開狀態,然後線程1關閉(但是2保持打開狀態)==>緩存是否仍然存在? – user1034912

相關問題