緩存是一個概念,它將創建資料庫表結構的副本,為用戶應用程式提供一個舒適的環境。 OrientDB在不同級別有多種緩存機制。
下麵的插圖給出了關於什麼是緩存的說明。
在上圖中,DB1,DB2,DB3是應用程式中使用的三種不同的資料庫實例。
一級緩存是一個本地緩存,用於存儲特定會話已知的所有實體。 如果您在此會話中有三筆交易,則它將持有所有三筆交易使用的所有實體。 當您關閉會話或執行“清除”方法時,此緩存將被清除。 它減少了應用程式和數據庫之間I/O
操作的負擔,從而提高了性能。
二級緩存是使用第三方提供商的即時緩存。 你可以完全控制緩存的內容,也就是說你可以指定哪些專案應該被刪除,哪些專案應該被存儲更長時間等等。它是多個線程之間的完全共用緩存。
存儲模型只不過是磁片,記憶體或遠程伺服器的存儲設備。
OrientDB緩存工作原理
OrientDB緩存在不同的環境中提供不同的方法。 緩存主要用於更快的資料庫事務,減少事務的處理時間並提高性能。 以下流程圖顯示了緩存如何在本地模式和客戶端 - 伺服器模式下工作。
本地模式(嵌入式資料庫)
以下流程圖告訴您如何在本地模式下存儲和使用的應用程式之間存在記錄,即當資料庫伺服器位於本地主機中時。
當客戶端應用程式請求OrientDB檢查以下記錄時 -
- 如果事務已經開始,那麼它在事務內部搜索已更改的記錄並在找到時返回它。
- 如果本地緩存已啟用並包含所請求的記錄,則將其返回。
- 如果此時記錄不在高速緩存中,則請求存儲(磁片,記憶體)。
客戶伺服器模式(遠程資料庫)
以下流程圖說明如何在客戶端 - 伺服器模式下,即資料庫伺服器位於遠程位置時,記錄位於存儲和使用的應用程式之間。
當客戶端應用程式要求記錄時,OrientDB會檢查以下內容 -
- 如果事務已經開始,那麼它在事務內部搜索已更改的記錄並在找到時返回它。
- 如果本地緩存已啟用並包含所請求的記錄,則將其返回。
- 此時,如果記錄不在緩存中,則通過TCP/IP調用向伺服器請求。
- 在伺服器中,如果本地緩存已啟用並包含所請求的記錄,則返回該緩存。
- 此時,記錄仍然不在伺服器中緩存,然後向存儲(磁片,記憶體)請求。
上一篇:
OrientDB鉤子(觸發器)
下一篇:
OrientDB日誌