Cache 簡介

關於 CannerFlow 中的 Cache 機制,事實上是一個非常重要的功能之一。在企業內部想像您的 BI Team 有 Marketing、Sales 和 Customer support 的團隊,他們所要的資料大部分的時候都大同小異,例如:

  1. Marketing: 要查上一週的銷售成效
  2. Sales Manager: 要查前一天業務的狀況
  3. Customer Support: 要看一下上週的系統回報以及客戶回饋

所以在這個時候如果沒有暫存機制的話,Marketing 的十個成員都查詢上一週的成效,那都要到資料庫重新拿取資料運算完再把資料拉到 BI 或是 CMS 中去查看。

通常每次重新運算都會有延遲性,有可能是數分鐘或數小時。有了 CannerFlow 的暫存機制可以在幾毫秒之內就把這些已經運算過的資料呈現給後來要用的人源。

在 CannerFlow 中哪裡有內建這種 Cache 機制呢?

在查詢 SQL 的時候

在使用 SQL 時,未來不讓要獲取相同資料的人,每次獲取都跟資料庫拿。所以我們有一個快取層,當系統要拿資料的時候他會先從快取層 mapping 看是否有無拿過。沒有的話才去拿,如果不希望讀取快取層資料而是最即時的資料可以把 cache 直接在這邊關掉。

只要 "開啟" cache 在 CannerFlow 使用的所有人,如果再拿取同樣 Query 的資料且 "開啟" cache 的話就會立即回覆 cache。

目前系統 default cache 的 expire 時間為一天(可以依照使用需求調整)