如果我們在程式執行期間有暫存資料的需求,不一定都一定要儲存在磁碟機,假使資料的生命週期是在執行期間內,放在記憶體內也是一個選項,LiteDB 的資料庫檔案除了放在磁碟機,還可以改儲存在記憶體中,而且只要改一個地方就可以。
原本我們的 Connection String 是指定儲存在磁碟機的檔案路徑
我們建立一個 MemoryStream
實例把它替換掉就大功告成了,唯一有一點要注意的是 MemoryStream 的實例不要被 Close 掉,還有不要重覆建立 MemoryStream 實例造成不必要的記憶體浪費。
最後,如果我們以為把資料庫放在記憶體內,這樣存取在 LiteDB 內的資料速度就會大幅度提升,那就有誤會了,兩邊的資料存取速度差距並不大,放在記憶體只比放在磁碟機中快個 5% ~ 10% 而已,建立 Index 才是速度的關鍵。