protected virtual async Task <byte[][]> GetAndRefreshManyAsync( IEnumerable <string> keys, bool getData, CancellationToken token = default) { token.ThrowIfCancellationRequested(); await ConnectAsync(token); var keyArray = keys.Select(key => Instance + key).ToArray(); RedisValue[][] results; if (getData) { results = await RedisDatabase.HashMemberGetManyAsync(keyArray, AbsoluteExpirationKey, SlidingExpirationKey, DataKey); } else { results = await RedisDatabase.HashMemberGetManyAsync(keyArray, AbsoluteExpirationKey, SlidingExpirationKey); } await Task.WhenAll(PipelineRefreshManyAndOutData(keyArray, results, out var bytes)); return(bytes); }