专栏首页云开发如何在云开发Cloudbase中使用Redis?

如何在云开发Cloudbase中使用Redis?

关于云开发

云开发 Cloudbase 是腾讯云为移动开发者提供的云原生一体化应用开发平台,可用于开发多种客户端,它帮助开发者统一构建和管理资源,免去了应用开发过程中繁琐的服务器搭建及运维、域名注册、数据接口实现等繁琐流程,让开发者可以专注于业务逻辑的实现,而无需理解后端逻辑及服务器运维知识,开发门槛更低,效率更高。详情可以查看官网文档:https://cloud.tencent.com/product/tcb?from=12334

对于开发者来说,我们可以快速基于云开发来实现我们自己想要的业务。在一些业务迅速增长的平台,譬如某电商平台、金融机构,需要处理大量的用户信息,这时我们可能会需要借助缓存来提升我们的产品性能,优化产品。

在Redis的最新版本中,支持了内部自定义数据类型全速计算的开发环境。UNlINK命令的实现,可以瞬间删除快速增长的键值。相比于MySQL方案,Redis作为流行的noSQL方案,在数据去重、数据监听、实时处理等方面都有着十分卓越的性能。

Redis支持了以下应用场景:

计数器:因为Redis操作是原子性的,通过原子递增或递减来做高并发用户的数据计数,比如点赞数、收藏数、分享数、商品抢购时的库存量、商品文章总数、评论数量等;

排行榜:Redis支持集合和有序集合的数据结构,且运行在内存中,因此可以存储一些类似于排行榜的数据,比如最近、最热、点击率最高、活跃度最高、评论最多等等的文章、商品、用户等;

哈希表:用户粉丝列表、用户点赞列表、用户收藏列表、用户关注列表等;

自动排序:存储时间戳,随着时间的变化,按照用户关注用户的最新动态列表等自动排序;

会话缓存:使用Redis进行会话缓存,将web session存放在Redis中;

全页缓存FPC:可以将服务端渲染结果的缓存在Redis中;

记录用户操作信息:用户是否点赞、用户是否收藏、用户是否分享等。

关于 Redis 的详细信息,大家可以参考这篇攻略:

如何在云开发中使用 Redis?丨攻略

安装Redis拓展

云开发扩展能力是云开发团队为开发者提供的一站式云端服务,旨在降低开发者使用云服务的门槛,助力开发者快速开发应用,其中 Redis 便是云开发提供给开发者的一个拓展能力,有了 Redis 拓展,可以让开发者更加简单的将 Redis 数据库和云函数环境整合起来。

1

安装拓展

打开腾讯云控制台,找到你的环境,进入到环境详情页面,点击左侧的「拓展管理」,进入到拓展管理详情页,并点击 Redis 拓展,安装拓展。

2

新建Redis实例

倘若安装中没有实例(即还没有购买Redis数据库,点击新建实例),倘若已经有实例的可以跳过,进入下一步。

3

创建Redis数据库

购买Redis数据库,创建实例,配备好私有网络(注意:目前使用的拓展暂时只支持上海的服务器,因为云开发集群在上海 不建议跨地域的链接,可能会受到网络波动的影响)

4

选择Redis实例

创建好实例后回到扩展选择刚刚创建(或者已有的)的实例:

5

完成创建

点击完成创建:

6

安装成功

看到有如下扩展即安装成功:

7

获取链接信息

创建好后查看拓展相关信息(在这里面我们便可以看到一起创建好的云函数啦):

在函数中使用Redis

在做完上面的步骤后我们便可以在云函数中使用Redis数据库了,为了连接和操作 Redis 实例,我们需要一个 Redis 客户端,推荐使用ioredis(类似的还有node_redis、tedis等)。

1

安装依赖

首先,你需要使用命令行,进入到你要使用 Redis 的函数目录中,然后执行命令 npm init -y来初始化一个配置文件。随后,执行npm install --save ioredis 来安装相应的依赖。

安装完成后,会在你的项目的出现一个 package.json ,类似于以下:

{
"name": "name",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
  "ioredis": "^4.17.3"
}
}

2

调用Redis

接下来,你就可以在代码中调用 Redis 数据库了。由于使用了云开发的 Redis 拓展,系统运行环境中会自动带上相应的配置,你可以直接使用相应的环境变量来链接 Redis 数据库。

'use strict';

const redis = require('redis')

let client = redis.createClient({
   host: process.env.HOST,
   port: process.env.PORT,
   // 需要填写真实的密码
   password: 'xxx'
})

exports.main = async (event, context, callback) => {

   let res = await new Promise((resolve, reject) => {
       client.get('test', function (err, reply) {
           if (err) {
               resolve({
                   err
              })
          }
           resolve({
               data: reply.toString()
          })
      })
  })

   return {
       res
  }
}

有了 Redis 拓展,你就可以轻松的在几分钟内在云开发函数中接入 Redis ,实现 Redis 加速的功能。

总结

最后,我们来进行总结,如果你需要在云开发中使用 Redis 数据库,你需要做好以下几步:

  1. 创建一个云开发环境
  2. 安装云开发拓展,并配置使用私有网络的 Redis 实例
  3. 在云函数中使用客户端链接 Redis 数据库,进行后续的操作。

如果你也有在应用中接入 Redis 的需求,不妨试试云开发的 Redis 拓展,来加速你的应用。

技术文档:https://cloudbase.net?from=10004

技术交流加Q群:601134960

最新资讯关注微信公众号【腾讯云云开发】

本文分享自微信公众号 - 腾讯云云开发(tcb2tcb),作者:布道师李浩珲

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个 SDK 不一般!

    tcb-js-sdk 让开发者可以在网页端使用 JavaScript 代码服务访问云开发的服务,以轻松构建自己的公众号页面或者独立的网站等 Web 服务[1]。...

    腾讯云开发TCB
  • 云开发的数据库权限机制解读丨云开发101

    在使用云开发进行开发时,数据库权限是一个让不少人困扰的部分,四种数据库权限,到底是什么意思?其各自的权限、应用场景都是什么?大多数人对于这个机制,还是模糊的。为...

    腾讯云开发TCB
  • 打通GitLab CI/CD到腾讯云的静态网站托管

    云开发静态托管是云开发提供的静态网站托管的能力,静态资源(HTML、CSS、JavaScript、字体等)的分发由腾讯云对象存储 COS 和拥有多个边缘网点的腾...

    腾讯云开发TCB
  • Redis基本使用及百亿数据量中的使用技巧分享

    熟悉的开场白,大家晚上好啊,今天给大家分享的是Redis在大数据中的使用,可能真正讲的是一些redis的使用技巧,Redis基本的一些东西。

    依乐祝
  • 我为 Redis 找到了一个新家 —— VMWare

    今天翻了一下Antirez早年的博客,发现了这样一篇介绍redis进展的好文章,写于2010年,居然长期以来都没有被翻译成中文,所以我就不客气了。故事发生在Re...

    芋道源码
  • Gavin老师:分布式缓存Redis高级应用实战(艾编程精品视频)

    【学完本节课你将掌握如下知识】 1、分布式缓存中间件选型 2、Redis作为单线程模式为什么效能还这么高? 3、Redis服务安装机常用命令解析 4、如...

    艾编程
  • 有了它,Redis不再是你技术面试中的阻碍

    Redis在互联网技术存储方面使用非常广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对求职小伙伴们进行各种刁难,特别是那些优秀的、竞争激烈的大型...

    博文视点Broadview
  • 大厂和初创公司都在用!Redis好在哪?终于有人讲明白了

    Redis从一个不为人熟知、只有少量应用的崭新数据库,逐渐变成了内存数据库领域的事实标准。时至今日,经过大量的实践应用,Redis简洁高效、安全稳定的特性已经深...

    华章科技
  • 大厂和初创公司都在用!Redis好在哪?终于有人讲明白了

    Redis从一个不为人熟知、只有少量应用的崭新数据库,逐渐变成了内存数据库领域的事实标准。时至今日,经过大量的实践应用,Redis简洁高效、安全稳定的特性已经深...

    用户5548425
  • Redis 6.0 稳定版发布,正式支持多线程

    近期Redis 6.0.0稳定版发布了,是Redis有史以来最大的版本, Redis的作者在博客中介绍了该版本中的新特性,此外除了这些新特性外,Redis 6也...

    大数据技术架构

扫码关注云+社区

领取腾讯云代金券