AppEngine NodeJS гибкая memcache не определена GAE_MEMCACHE_HOST и GAE_MEMCACHE_PORT
Я хочу использовать сервис memcache AppEngine в моей гибкой среде NodeJS. Как указано в документации: 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 Вот код, который я использую для подключения к memcache:
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);
Я не знаю, почему это не сработало. В документации указано, что оно в альфа-версии, но не должно работать?
1 ответ
Для использования Memcache с App Engine flex вам необходимо зарегистрировать эту форму, чтобы получить доступ к альфа-версии. [ Memcache flex form] (это может занять некоторое время).
Кроме того, вы можете выбрать между настройкой собственной Memcache (Redis и т. Д.) Или использовать Memcache для среды App Engine Standard.