diff --git a/src/Caching/StackExchangeRedis/src/RedisCache.cs b/src/Caching/StackExchangeRedis/src/RedisCache.cs index debec0237040..4c2e2f993a56 100644 --- a/src/Caching/StackExchangeRedis/src/RedisCache.cs +++ b/src/Caching/StackExchangeRedis/src/RedisCache.cs @@ -224,16 +224,10 @@ private async Task SetImplAsync(string key, ReadOnlySequence value, Distri var ttl = GetExpirationInSeconds(creationTime, absoluteExpiration, options); var fields = GetHashFields(Linearize(value, out var lease), absoluteExpiration, options.SlidingExpiration); - if (ttl is null) - { - await cache.HashSetAsync(prefixedKey, fields).ConfigureAwait(false); - } - else + await cache.HashSetAsync(prefixedKey, fields).ConfigureAwait(false); + if (ttl is not null) { - await Task.WhenAll( - cache.HashSetAsync(prefixedKey, fields), - cache.KeyExpireAsync(prefixedKey, TimeSpan.FromSeconds(ttl.GetValueOrDefault())) - ).ConfigureAwait(false); + await cache.KeyExpireAsync(prefixedKey, TimeSpan.FromSeconds(ttl.GetValueOrDefault())).ConfigureAwait(false); } Recycle(lease); // we're happy to only recycle on success }