我正在尝试使用AWS Lambda和无服务器框架为单页面Web应用程序构建API .我想使用Redis Cloud进行存储,主要是因为它结合了速度和数据持久性.我将来可能会使用更多的Redis Cloud功能,所以我宁愿避免使用ElastiCache.我的Redis Cloud实例与我的函数在同一AWS区域中运行.
我有一个函数调用related,它从GET请求到API端点获取一个hashtag,并检查数据库中是否有一个条目.如果它在那里,它应该立即返回结果.如果没有,它应该查询RiteTag,将结果写入Redis,然后将结果返回给用户.
我对此很陌生,所以我可能正在做一些天真的事情.这是事件处理程序:
'use strict'
const lib = require('../lib/related')
module.exports.handler = function (event, context) {
lib.respond(event, (err, res) => {
if (err) {
return context.fail(err)
} else {
return context.succeed(res)
}
})
}
Run Code Online (Sandbox Code Playgroud)
这是../lib/related.js文件:
var redis = require('redis')
var jsonify = require('redis-jsonify')
var rt = require('./ritetag')
var redisOptions = {
host: process.env.REDIS_URL,
port: process.env.REDIS_PORT,
password: process.env.REDIS_PASS
}
var client = jsonify(redis.createClient(redisOptions))
module.exports.respond = …Run Code Online (Sandbox Code Playgroud) amazon-web-services redis node.js aws-lambda serverless-framework