網路商店
商品頁面、價格與庫存量每秒被讀取上千次,並在商品目錄變動時依標籤更新。
將最熱的資料放在記憶體中,讀取在遠低於一毫秒內回應,而且引擎會讓每個核心都派上用場。
命中會直接從記憶體傳回。完全不碰資料庫。
以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。
對於每秒被讀取上千次的資料,直接去查資料庫既慢又昂貴。每次頁面瀏覽、API 呼叫或儀表板重新整理,都會重複同樣的查詢,資料庫遠在您的應用程式之前就先成為瓶頸。
HotKV 位於資料庫前方,並將結果保存在記憶體中。您的應用程式先從 HotKV 讀取,只有在未命中時才退回資料庫。由於 HotKV 同時以多個執行緒執行指令,忙碌的快取不會把所有用戶端都擠進單一核心,而標籤則讓您能在底層資料變動時,讓一整組項目失效。
命中會直接從記憶體傳回。完全不碰資料庫。
GET product:1001未命中時,應用程式讀取一次資料庫,並將結果快取五分鐘。
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300每個顯示照明商品的快取頁面都帶有相同的標籤。
TAG.SET product:1001 catalog:lighting價格變了。列出帶有該標籤的所有鍵,並在同一個管線中刪除它們。
TAG.MEMBERS catalog:lighting一個已設定好的瞬時權杖,必須在 250 ms 後消失,精確度達奈秒。
NEXPIRE flash:token:9 250000000商品頁面、價格與庫存量每秒被讀取上千次,並在商品目錄變動時依標籤更新。
熱門端點的回應以短 TTL 快取,因此流量高峰打到的是記憶體,而不是資料庫。
渲染出的片段與文章中繼資料會快取數分鐘,並在編輯發布時依標籤失效。
EXPIRE 與 PEXPIRE 與您預期的一樣運作。NEXPIRE 則加入奈秒精確度。
EXPIREPEXPIRENEXPIRE以 TAG.SET 為鍵加上標籤,再找出帶有某個標籤的所有鍵。
TAG.SETTAG.MEMBERS大型內容可以壓縮,讓更多工作集容納在記憶體中。
指令在平行執行緒上執行,因此吞吐量隨核心數成長。數據請見效能頁面。
GETMGETHotKV 支援 Redis 協定(RESP2 與 RESP3),因此標準的 Redis 用戶端都能連線。請查閱指令參考,確認您仰賴的指令。
快取時以 TAG.SET 為鍵加上標籤,然後呼叫 TAG.MEMBERS 並刪除傳回的鍵。
它是 HotKV 公開基準測試中的管線化 GET 吞吐量。方法與硬體請見效能頁面。