/// <inheritdoc/> public void Set(Dictionary<CacheItemDefinition, byte[]> objects) { RedisValue[] values; RedisKey[] keys; GetMultipleSetValues(objects, out keys, out values); foreach (var key in keys) { GetRetryPolicy().Execute(() => GetDatabase().Publish(_setKeyChannel, (string)key)); } GetRetryPolicy().Execute<RedisResult>(() => GetDatabase().ScriptEvaluate(LuaScripts.GetMultipleSetScript(), keys: keys, values: values)); }
/// <inheritdoc/> public async Task SetAsync(Dictionary<CacheItemDefinition, byte[]> objects) { RedisValue[] values; RedisKey[] keys; GetMultipleSetValues(objects, out keys, out values); foreach (var key in keys) { await GetRetryPolicyAsync().ExecuteAsync(() => GetDatabase().PublishAsync(_setKeyChannel, (string)key)).ConfigureAwait(false); } await GetRetryPolicyAsync().ExecuteAsync<RedisResult>(() => GetDatabase().ScriptEvaluateAsync(LuaScripts.GetMultipleSetScript(), keys: keys, values: values)).ConfigureAwait(false); }