getWithTTL(key) {
		return this.client
			.pipeline()
			.getBuffer(this.prefix + key)
			.ttl(this.prefix + key)
			.exec()
			.then(res => {
				let [err0, data] = res[0];
				let [err1, ttl] = res[1];
				if (err0) {
					return this.broker.Promise.reject(err0);
				}
				if (err1) {
					return this.broker.Promise.reject(err1);
				}
				if (data) {
					this.logger.debug(`FOUND ${key}`);
					try {
						data = this.serializer.deserialize(data);
					} catch (err) {
						this.logger.error("Redis result parse error.", err, data);
						data = null;
					}
				}
				return { data, ttl };
			});
	}
Get data and ttl from cache by key.

@param {string|Array<string>} key
@returns {Promise}

@memberof RedisCacher