docs: function Adapter(options) {
    var _options = options || {};
    var _adapter = _options.adapter || "";
    var _host = _options.host || "";
    var _port = _options.port || 0;
    var _db = _options.db || 0;
    var _ttl = _options.ttl || 0;
    var _user = _options.user || _options.username || "";
    var _password = _options.pass || _options.password || "";
    var _maxClients = _.toSafeInteger(_options.maxClients) || 1;
    var _identity = _.trimEnd(_options.identity, ":");
    var _prefix = "__MEMORI__:";
    var _objPrefix = "__OBJECT__:";
  
    var prefix = _.trimEnd(_options.prefix, ":");
    if (prefix) {
      _prefix += prefix + ":";
    }
  
    //-- getters
    Object.defineProperty(this, "adapter", {
      get: function() { return _adapter; }
    });
    Object.defineProperty(this, "name", {
      get: function() { return _adapter; }
    });
    Object.defineProperty(this, "host", {
      get: function() { return _host; }
    });
    Object.defineProperty(this, "port", {
      get: function() { return _port; }
    });
    Object.defineProperty(this, "db", {
      get: function() { return _db; }
    });
    Object.defineProperty(this, "ttl", {
      get: function() { return _ttl; }
    });
    Object.defineProperty(this, "user", {
      get: function() { return _user; }
    });
    Object.defineProperty(this, "password", {
      get: function() { return _password; }
    });
    Object.defineProperty(this, "maxClients", {
      get: function() { return _maxClients; }
    });
    Object.defineProperty(this, "identity", {
      get: function() {
        return _identity;
      }
    });
    Object.defineProperty(this, "prefix", {
      get: function() {
        var prefix = _prefix;
        if (_identity) {
          prefix += _identity + ":";
        }
        return prefix;
      }
    });
    Object.defineProperty(this, "objPrefix", {
      get: function() { return _objPrefix; }
    });
  }