protected virtual Task[] PipelineSetMany( IEnumerable <KeyValuePair <string, byte[]> > items, DistributedCacheEntryOptions options) { items = Check.NotNull(items, nameof(items)); options = Check.NotNull(options, nameof(options)); var itemArray = items.ToArray(); var tasks = new Task[itemArray.Length]; var creationTime = DateTimeOffset.UtcNow; var absoluteExpiration = GetAbsoluteExpiration(creationTime, options); for (var i = 0; i < itemArray.Length; i++) { tasks[i] = RedisDatabase.ScriptEvaluateAsync(SetScript, new RedisKey[] { Instance + itemArray[i].Key }, new RedisValue[] { absoluteExpiration?.Ticks ?? NotPresent, options.SlidingExpiration?.Ticks ?? NotPresent, GetExpirationInSeconds(creationTime, absoluteExpiration, options) ?? NotPresent, itemArray[i].Value }); } return(tasks); }