public void Publish(string cacheName, string key, CacheItemActionTypes action) { var message = new CacheItemNotification(sender, cacheName, key, action); var messageToSend = convert.ToRedis(message); GetSubClient(cacheName, null).Subscriber.Publish(cacheName, messageToSend, CommandFlags.None); }
public CacheItemNotification(string sender, string cacheName, string key, CacheItemActionTypes action) { this.Key = key; this.CacheName = cacheName; this.Action = action; this.Sender = sender; }
public void Publish(string key, CacheItemActionTypes action) { var message = new CacheItemNotification(sender, cacheName, key, action); var messageToSend = convert.ToRedis(message); // publish via redis client.Subscriber.Publish(cacheName, messageToSend, CommandFlags.FireAndForget); }
public async Task PublishAsync(string cacheName, string key, CacheItemActionTypes action) { var message = new CacheItemNotification(sender, cacheName, key, action); var messageToSend = convert.ToRedis(message); await GetSubClient(cacheName, null, null).Subscriber .PublishAsync(cacheName, messageToSend, CommandFlags.None) .ConfigureAwait(false); }
public static Task NotifySyncProviderAsync(this ICache cache, string key, CacheItemActionTypes action) { var notifier = CacheManager.GetAssociatedNotifier(cache); if (notifier != null) { return(notifier.PublishAsync(cache.Name, key, action)); } return(Task.CompletedTask); }
public bool TryPublish(string cacheName, string key, CacheItemActionTypes action) { try { Publish(cacheName, key, action); return(true); } catch (Exception ex) { log.Warn(ex, $"Failed to publish {action} for {cacheName}.{key}"); return(false); } }
public bool TryPublish(string cacheName, string key, CacheItemActionTypes action) { try { var message = new CacheItemNotification(sender, cacheName, key, action); var messageToSend = convert.ToRedis(message); var redisClient = GetSubClient(cacheName, null, null); if (redisClient.IsConnected) { redisClient.Subscriber.Publish(cacheName, messageToSend, CommandFlags.None); return(true); } return(false); } catch (Exception ex) { log.Warn(ex, $"Failed to publish {action} for {cacheName}.{key}"); return(false); } }
public void Publish(string cacheName, string key, CacheItemActionTypes action) { }
public bool TryPublish(string cacheName, string key, CacheItemActionTypes action) { return(true); }
public static Task <bool> TryNotifySyncProviderAsync(this ICache cache, string key, CacheItemActionTypes action) { var notifier = CacheManager.GetAssociatedNotifier(cache); if (notifier != null) { return(notifier.TryPublishAsync(cache.Name, key, action)); } return(Task.FromResult(false)); }
public static bool TryNotifySyncProvider(this ICache cache, string key, CacheItemActionTypes action) { var notifier = CacheManager.GetAssociatedNotifier(cache); return(notifier?.TryPublish(cache.Name, key, action) ?? false); }
public static void NotifySyncProvider(this ICache cache, string key, CacheItemActionTypes action) { var notifier = CacheManager.GetAssociatedNotifier(cache); notifier?.Publish(cache.Name, key, action); }
public Task <bool> TryPublishAsync(string cacheName, string key, CacheItemActionTypes action) { return(Task.FromResult(true)); }
public async Task PublishAsync(string cacheName, string key, CacheItemActionTypes action) { }