docs: function MemcachedCacheModule (locations, options) {
    options = options || {};
    if (!(this instanceof MemcachedCacheModule)) {
      return new MemcachedCacheModule(locations, options);
    }
  
    this.type = 'memcached-cache-module';
    this.storage = 'memcached';
    if (options.verbose) {
      require('debug').enable(namespace);
    }
    this._backgroundRefreshEnabled = false;
    this._defaultLifetime = options.defaultLifetime || 90;
    this._refreshKeys = {};
    this._backgroundRefreshIntervalCheck = (typeof options.backgroundRefreshIntervalCheck === 'boolean') ? options.backgroundRefreshIntervalCheck : true;
    this._backgroundRefreshInterval = options.backgroundRefreshInterval || 60000;
    this._backgroundRefreshMinTtl = options.backgroundRefreshMinTtl || 70000;
  
    var memcachedOptions = options.memcachedOptions || {};
  
    debug.info('Connecting to memcached: \n%O', locations);
    this.memcachedClient = new Memcached(locations, memcachedOptions);
    this.memcachedClient.on('failure', function (details) {
      var msg = 'Memcached server ' + details.server + ' went down due to: \n' + details.messages.join();
      throw new Error(msg);
    });
    this.memcachedClient.on('reconnecting', function (details) {
      debug.warn(
        'Total downtime caused by server ' + details.server + ': ' + details.totalDownTime + 'ms'
      );
    });
    this.memcachedClient.on('issue', function (details) {
      debug.warn(
        'Total downtime caused by server ' + details.server + ': ' + details.totalDownTime + 'ms'
      );
    });
    this.memcachedClient.on('reconnect', function (details) {
      debug.warn(
        'Total downtime caused by server ' + details.server + ': ' + details.totalDownTime + 'ms'
      );
    });
    this.memcachedClient.on('remove', function (details) {
      debug.warn(
        'Total downtime caused by server ' + details.server + ': ' + details.totalDownTime + 'ms'
      );
    });
  }