乐趣区

关于redis:最佳实践丨在云函数内使用-Redis-扩展

什么时候应该应用 Redis?

Redis 的实用场景包含但不仅限于:

  • 计数器 :因为 Redis 操作是原子性的,通过原子递增或递加来做高并发用户的数据计数,比方点赞数、珍藏数、分享数、商品抢购时的库存量、商品文章总数、评论数量等;
  • 排行榜 :Redis 反对汇合和有序汇合的数据结构,且运行在内存中,因而能够存储一些相似于排行榜的数据,比方最近、最热、点击率最高、活跃度最高、评论最多等等的文章、商品、用户等;
  • 哈希表 :用户粉丝列表、用户点赞列表、用户珍藏列表、用户关注列表等;
  • 主动排序:存储工夫戳,随着工夫的变动,依照用户关注用户的最新动静列表等主动排序;
  • 会话缓存 :应用 Redis 进行会话缓存,将 web session 寄存在 Redis 中;
  • 全页缓存 FPC:能够将服务端渲染后果的缓存在 Redis 中;
  • 记录用户操作信息 :用户是否点赞、用户是否珍藏、用户是否分享等。

装置 Redis 拓展

1、装置扩大

关上腾讯云控制台,进入到环境详情页面,点击左侧的「扩大利用」,进入到扩大能力详情页,并点击 Redis 拓展,装置拓展。

2、创立 Redis 实例

假使装置中没有实例(即还没有购买 Redis 数据库,点击新建实例),假使曾经有实例的能够跳过,进入下一步。

购买 Redis 数据库,创立实例,装备好公有网络。

创立好实例后回到扩大抉择刚刚创立(或者已有的)的实例:

点击实现创立:

看到有如下扩大即装置胜利:

3、获取 Redis 信息

创立好后查看拓展相干信息(在这外面咱们便能够看到一起创立好的云函数啦):

在云函数中应用 Redis

云函数内能够通过 Redis 客户端连贯和操作 Redis 实例,举荐应用。

1、装置依赖

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

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

装置实现后,云函数目录下将会呈现 package.json 文件,内容相似以下:

{
"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 数据库。

'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}

}

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、主动弹性扩缩的后端云服务,蕴含计算、存储、托管等 serverless 化能力,可用于云端一体化开发多种端利用(小程序,公众号,Web 利用,Flutter 客户端等),帮忙开发者对立构建和治理后端服务和云资源,防止了利用开发过程中繁琐的服务器搭建及运维,开发者能够专一于业务逻辑的实现,开发门槛更低,效率更高。
开明云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
技术交换群、最新资讯关注微信公众号【腾讯云云开发】

退出移动版