前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCB系列学习文章——在云函数内使用 Redis 扩展

TCB系列学习文章——在云函数内使用 Redis 扩展

原创
作者头像
F颜
发布2021-04-05 04:50:26
7690
发布2021-04-05 04:50:26
举报

什么时候应该使用 Redis?

Redis 的适用场景包括但不仅限于:

  • 计数器:因为 Redis 操作是原子性的,通过原子递增或递减来做高并发用户的数据计数,比如点赞数、收藏数、分享数、商品抢购时的库存量、商品文章总数、评论数量等;
  • 排行榜:Redis 支持集合和有序集合的数据结构,且运行在内存中,因此可以存储一些类似于排行榜的数据,比如最近、最热、点击率最高、活跃度最高、评论最多等等的文章、商品、用户等;
  • 哈希表:用户粉丝列表、用户点赞列表、用户收藏列表、用户关注列表等;
  • 自动排序:存储时间戳,随着时间的变化,按照用户关注用户的最新动态列表等自动排序;
  • 会话缓存:使用 Redis 进行会话缓存,将 web session 存放在 Redis 中;
  • 全页缓存 FPC:可以将服务端渲染结果的缓存在 Redis 中;
  • 记录用户操作信息:用户是否点赞、用户是否收藏、用户是否分享等。

安装 Redis 拓展

1、安装扩展

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

img
img

2、创建 Redis 实例

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

img
img

购买 Redis 数据库,创建实例,配备好私有网络。

img
img

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

img
img

点击完成创建:

img
img

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

img
img

3、获取 Redis 信息

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

img
img

在云函数中使用 Redis

云函数内可以通过 Redis 客户端连接和操作 Redis 实例,推荐使用 redis (opens new window)

1、安装依赖

首先进入到 Redis 的云函数目录中,然后执行命令 npm init -y 初始化一个配置文件。

随后,执行npm install --save redis 来安装相应的依赖。

安装完成后,云函数目录下将会出现 package.json 文件,内容类似以下:

代码语言:javascript
复制
{
  "name": "redis",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "redis": "^3.0.2"
  }
}

2、调用 Redis

接下来可以在代码中调用 Redis 数据库了。

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

代码语言:javascript
复制
'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 }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么时候应该使用 Redis?
  • 安装 Redis 拓展
    • 1、安装扩展
      • 2、创建 Redis 实例
        • 3、获取 Redis 信息
        • 在云函数中使用 Redis
          • 1、安装依赖
            • 2、调用 Redis
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档