如何在云开发 Cloudbase 中使用 Redis ?
关于云开发
云开发 Cloudbase 是腾讯云为移动开发者提供的一站式后端云服务,可用于开发多种客户端,它帮助开发者统一构建和管理资源,免去了应用开发过程中繁琐的服务器搭建及运维、域名注册、数据接口实现等繁琐流程,让开发者可以专注于业务逻辑的实现,而无需理解后端逻辑及服务器运维知识,开发门槛更低,效率更高。
对于开发者来说,我们可以快速基于云开发来实现我们自己想要的业务。随着业务的增长,我们可能会需要借助缓存来提升我们的产品性能,优化产品,这个时候,云开发对于 MySQL 的支持,就可以帮助我们快速实现我们想要的。
Redis支持了以下应用场景:
计数器:因为Redis操作是原子性的,通过原子递增或递减来做高并发用户的数据计数,比如点赞数、收藏数、分享数、商品抢购时的库存量、商品文章总数、评论数量等;
排行榜:Redis支持集合和有序集合的数据结构,且运行在内存中,因此可以存储一些类似于排行榜的数据,比如最近、最热、点击率最高、活跃度最高、评论最多等等的文章、商品、用户等;
哈希表:用户粉丝列表、用户点赞列表、用户收藏列表、用户关注列表等;
自动排序:存储时间戳,随着时间的变化,按照用户关注用户的最新动态列表等自动排序;
会话缓存:使用Redis进行会话缓存,将web session存放在Redis中;
全页缓存FPC:可以将服务端渲染结果的缓存在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 数据库,你需要做好以下几步
- 创建一个云开发环境
- 安装云开发拓展,并配置使用私有网络的 Redis 实例
- 在云函数中使用客户端链接 Redis 数据库,进行后续的操作。
如果你也有在应用中接入 Redis 的需求,不妨试试云开发的 Redis 拓展,来加速你的应用。
小讨论:除了用来做缓存加速,你还用 Redis 来做什么?
公众号:腾讯云云开发
腾讯云云开发:https://cloudbase.net
云开发控制台:https://console.cloud.tencent.com/tcb?from=12304
☁
更多精彩
扫描二维码了解更多