雲開發的數據庫在實際使用中的性能是很是不錯的。但涉及到一些比較重的計算量時,依然會讓查詢花費很多的時間(好比提取全部的數據計算排行),在這種狀況下,就須要一種方式來優化數據查詢,讓本來對數據庫壓力比較大的數據查詢消耗更少的數據庫性能,下降數據查詢耗時,優化數據體驗。數據庫
一個簡單易行的方式就是加入緩存,好比建設一套 KV 緩存系統,來完成數據的優化。緩存
想要在雲開發中實現一個簡單的 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
在這篇文章中,我簡單介紹瞭如何基於雲開發開發出一個簡單的緩存系統,那麼你發現這個緩存系統的一些問題了麼?若是你要優化這個系統,你會怎麼作?教程