Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用层还是调用另一个lambda?_Amazon Web Services_Redis_Aws Lambda - Fatal编程技术网

Amazon web services 使用层还是调用另一个lambda?

Amazon web services 使用层还是调用另一个lambda?,amazon-web-services,redis,aws-lambda,Amazon Web Services,Redis,Aws Lambda,我有一个模块,用于维护到redis服务器的连接实例: const getClient = (() => { let client; return () => { if (!client) client = clientFactory(); // lazy loading of the redis client return client; } })(); 该模块计划部署在AWS Lambda上。根据建议,上述闭包中的redis

我有一个模块,用于维护到redis服务器的连接实例:

const getClient = (() => {
    let client;
    return () => {
        if (!client) client = clientFactory(); // lazy loading of the redis client
        return client;
    }
})();
该模块计划部署在AWS Lambda上。根据建议,上述闭包中的redis客户端永远不会被手动销毁,以利于上下文重用,并且将在lambda调用实例被终止时自动销毁

现在的问题是:我还有一些其他模块,它们也将作为单独的lambda函数部署在lambda上,并且需要利用redis客户机模块。我应该将redis模块设置为可重用层,还是应该将该模块部署为另一个单独的函数,并直接从调用模块调用该函数

使用层的问题:redis连接将为每个单独的调用模块实例化,这不利于上下文重用

调用另一个lambda函数的问题:网络开销

据我所知,两个lambda函数之间的调用,调用方将向被调用方发送一个API请求,从而产生额外的网络开销。那么,这比糟糕的上下文重用更重要吗