如何在雲開發中搭建 KV 緩存系統

雲開發的數據庫在實際使用中的性能是很是不錯的。但涉及到一些比較重的計算量時,依然會讓查詢花費很多的時間(好比提取全部的數據計算排行),在這種狀況下,就須要一種方式來優化數據查詢,讓本來對數據庫壓力比較大的數據查詢消耗更少的數據庫性能,下降數據查詢耗時,優化數據體驗。數據庫

一個簡單易行的方式就是加入緩存,好比建設一套 KV 緩存系統,來完成數據的優化。緩存

如何在雲開發中實現一個簡單的 Key - Value 數據庫?

想要在雲開發中實現一個簡單的 Key-Value 數據庫,十分簡單, 你只須要打開雲開發的數據庫,在其中建立一個cache表,就能夠開始編寫代碼來實現數據的緩存。async

須要注意的是,若是你須要讓緩存能夠在移動端讀取,則須要將數據表的權限設置爲 全部用戶可讀,僅建立者可寫

雲開發的數據庫中,以 _id 做爲數據主鍵,並默認爲 _id 提供了索引,所以,咱們只須要將緩存的 key 放在 _id 中,就能夠藉助數據庫的索引機制,避免掃描全表來獲取數據。同時,還能夠藉助雲開發的 doc 方法來快速讀取數據,簡化代碼。性能

具體的實現,你能夠參考下方的代碼。學習

設置緩存

async function setCache(key,value){
   return await db.collection("cache").add({
      data:{
        _id:key,
        value:value
      }
    })
}

讀取緩存

async function getCache(key){
   let { data } = await db.collection("cache").doc(key).get();
    return data.value;
}

如何使用

當你須要設置緩存的時候,你只須要執行 setCache 方法,就能夠將特定的數據設置到數據庫中,並在須要的地方使用 getCache 方法來獲取這些數據,提高你的數據庫查詢數據。優化

藉助自建的簡易緩存系統,能夠快速的完成產品的耗時查詢的優化,同時還能夠藉助官方提供的 API,下降學習的成本,你再也不須要去啃厚厚的 Redis 使用教程了。code

問題

在這篇文章中,我簡單介紹瞭如何基於雲開發開發出一個簡單的緩存系統,那麼你發現這個緩存系統的一些問題了麼?若是你要優化這個系統,你會怎麼作?教程

相關文章
相關標籤/搜索