Моя локальная среда для API
node -v: v8.9.4
npm -v: 5.6.0
Package
memcached.js: "memcached": "^2.2.2"
У нас есть Node API, в котором мы используем пакет memcached.js для подключения к серверу Memcache с указанными ниже конфигурациями.
MEMCACHED_CONFIG:
{
MAX_VALUE: 1024,
SERVER: "X.X.X.X",
PORT: 11211,
COMPLETE_PATH: "X.X.X.X:11211",
CACHE_TIMEOUT: 3600,
POOL_SIZE: 50,
maxKeySize: 1024,
timeout: 5000
}
То есть X.X.X.X - это IP-адрес удаленного сервера, на котором работает наш сервер Memcache.
и я могу подключить этот X.X.X. 1010 * сервер из моей системы с помощью команды telnet, например c: /> telnet X.X.X.X 11211 , и она работает.
cacheUtility.js
var MEMCACHED_CONFIG= require('./MEMCACHED_CONFIG');
var Memcached = require('memcached');
Memcached.config.maxValue = MEMCACHED_CONFIG.MAX_VALUE;
Memcached.config.poolSize = MEMCACHED_CONFIG.POOL_SIZE;
Memcached.config.maxKeySize= MEMCACHED_CONFIG.maxKeySize;
Memcached.config.timeout= MEMCACHED_CONFIG.timeout;
var memcached = new Memcached();
memcached.connect(MEMCACHED_CONFIG.COMPLETE_PATH, function( err,
conn ){
if( err ) {
CONFIG.CONSOLE_MESSAGE("Cache Connect Error "+conn.server);
}
});
Мы используем приведенный выше код для подключения к Memcached Server, и, как вы можете видеть, IP-адрес удаленного сервера исходит от MEMCACHED_CONFIG.
Моя проблема в том, что он всегда пытается подключиться к серверу 127.0.0.1 вместо передачи удаленного Memcached сервера. Поэтому, чтобы запустить его, мне нужно внести изменения в файл memcached.js основного пакета.
C: \ BitBucketProjects \ Licensor Server \ node_modules \ memcached \ lib \ memcached.js
function Client (args, options) {
var servers = []
, weights = {}
, regular = 'localhost:11211'
//, regular = 'X.X.X.X:11211'
, key;
Я не хочу вносить какие-либо изменения в основной пакет.
Почему он не подключается к данному серверу?