1. 首页

如何在云开发中搭建 KV 缓存系统

云开发的数据库在实际使用中的性能是非常不错的。但涉及到一些比较重的计算量时,依然会让查询花费不少的时间(比如提取所有的数据计算排行),在这种情况下,就需要一种方式来优化数据查询,让原本对数据库压力比较大的数据查询消耗更少的数据库性能,降低数据查询耗时,优化数据体验。

一个简单易行的方式就是加入缓存,比如建设一套 KV 缓存系统,来完成数据的优化。

如何在云开发中实现一个简单的 Key – Value 数据库?

想要在云开发中实现一个简单的 Key-Value 数据库,十分简单, 你只需要打开云开发的数据库,在其中创建一个cache表,就可以开始编写代码来实现数据的缓存。

需要注意的是,如果你需要让缓存可以在移动端读取,则需要将数据表的权限设置为 所有用户可读,仅创建者可写

云开发的数据库中,以 _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 使用教程了。

问题

在这篇文章中,我简单介绍了如何基于云开发开发出一个简单的缓存系统,那么你发现这个缓存系统的一些问题了么?如果你要优化这个系统,你会怎么做?

作者:白宦成
链接:https://segmentfault.com/a/1190000025185852

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:如何在云开发中搭建 KV 缓存系统

链接:https://www.javascriptc.com/4348.html

« Tableau 入门
Suspense 改变开发方式»
Flutter 中文教程资源

相关推荐

QR code