node.js - AppEngine NodeJS 灵活内存缓存未定义 GAE_MEMCACHE_HOST 和 GAE_MEMCACHE_PORT

标签 node.js google-app-engine google-cloud-platform memcached app-engine-flexible

我想在我的 NodeJS 灵活环境中使用 memcache AppEngine 服务。如文档中所述:https://cloud.google.com/appengine/docs/flexible/nodejs/using-redislabs-memcache

我使用了建议的 app.yaml 文件,并对 USE_GAE_MEMCACHE: 1 进行了注释,并注释了其他变量。但是当我运行部署命令时,它失败并出现以下错误:

net.js:1048
      throw new RangeError('"port" option should be >= 0 and < 65536: ' + port);
      ^

RangeError: "port" option should be >= 0 and < 65536: NaN
    at lookupAndConnect (net.js:1048:13)
    at Socket.connect (net.js:1021:5)
    at Object.connect (net.js:113:35)
    at Server.sock (/app/node_modules/memjs/lib/memjs/server.js:120:24)
    at Server.write (/app/node_modules/memjs/lib/memjs/server.js:219:8)
    at handleFlush (/app/node_modules/memjs/lib/memjs/memjs.js:620:10)
    at Client.flush (/app/node_modules/memjs/lib/memjs/memjs.js:624:5)
    at MemcachedDriver.flush (/app/data_manager/memcached_driver.js:42:17)
    at Storage.intialize (/app/data_manager/storage.js:45:12)
    at Object.<anonymous> (/app/app.js:22:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! waternamics@1.0.0 start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the waternamics@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-07-26T14_39_48_624Z-debug.log

当我记录 MEMCACHE_URL 变量时,它显示:undefined:undefined 这是我用来连接到内存缓存的代码:

let MEMCACHE_URL = process.env.MEMCACHE_URL || '127.0.0.1:11211';

    if (process.env.USE_GAE_MEMCACHE) {
        MEMCACHE_URL = `${process.env.GAE_MEMCACHE_HOST}:${process.env.GAE_MEMCACHE_PORT}`;
    }

    this.client = Memcached.Client.create(MEMCACHE_URL);

我不知道为什么它不起作用,它在文档中说明它处于 alpha 版本,但它应该不起作用?

最佳答案

要将 Memcache 与 App Engine flex 结合使用,您需要注册此表单才能访问 alpha。 [Memcache flex form ](可能需要一些时间)。

或者,您可以选择设置自己的 Memcache(Redis 等)或将 Memcache 用于 App Engine 标准环境。

关于node.js - AppEngine NodeJS 灵活内存缓存未定义 GAE_MEMCACHE_HOST 和 GAE_MEMCACHE_PORT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51541661/

相关文章:

node.js - 在 OS X 上的 Visual Studio Code 预览中调试 node.js

node.js - 尝试使用 Node 发出 'POST' 请求

node.js - MEAN Stack : Very specific web requests to generic model methods, 或具有非常具体模型方法的通用 Web 请求?

http - 在 Google App Engine 日志中查看 POST 请求的参数

php - 我在哪里可以看到 Google App Engine 中的日志?

python - 您可以获得 Google Cloud Composer/Airflow 的静态外部 IP 地址吗?

mysql - 通过私有(private) IP 拒绝 Google Cloud MySQL 访问,但允许通过公共(public) IP 访问

google-bigquery - 如何在解析 BigQuery 的导入 csv 时发现问题

javascript - 使用正则表达式使用 mongoose 进行不区分大小写的查找

node.js - 将 Node.js 应用程序部署到 Google App Engine 时出现 "Cannot find module"