code: function (opts, cb) {
        var self = this
        opts = opts || {}
        var root = opts.root || RootKey
        var key = opts.key
        if (!key) {
          return cb(new Error(ERR.FA_PARAMS.msg), ERR.FA_PARAMS)
        }
        mq.hget(root, key, function (err, doc) {
          if (err) {
            cb(err, ERR.config.FA_GET_CONFIG)
          } else {
            if (!doc) return cb(null, null)
            doc = self._parse(doc)
            if (doc.err) {
              if (doc === ERR.config.FA_CONFIG_EXPIRED) {
                self.delConfig(opts, function (err, doc) {})
              }
              return cb(new Error(doc.msg), doc)
            }
            cb(null, doc.value)
          }
        })
      }
docs: 获取配置信息
  @method config#getConfig
  @param {Object} [opts={}] 参数
  @example
  opts参数:{
  root: 根(可选)
  key: 配置项(必填)
  }
  @param {callback} [cb=function(err,doc){}] 回调
  @example
  cb参数格式:
  成功响应:
  doc: 配置值(基本类型, 对象或者数组)
  错误响应:
  doc: {
  err: 错误码,
  msg: 错误信息
  }