Esempio n. 1
0
        public static void UseClientSideCaching(this RedisClient cli)
        {
            var context = new ClientSideCachingContext(cli);

            cli.Subscribe("__redis__:invalidate", (chan, msg) =>
            {
            });

            cli.Interceptors.Add(() => new MemoryCacheAop(context));
            cli.Unavailable += (_, e) =>
            {
                _dicStrings.Clear();
            };
            cli.Connected += (_, e) =>
            {
                e.Client.ClientTracking(true, 100, null, false, false, false, false);
            };
        }
Esempio n. 2
0
        public static void UseClientSideCaching(this RedisClient cli)
        {
            var sub = cli.Subscribe("__redis__:invalidate", (chan, msg) =>
            {
                var keys = msg as object[];
                foreach (var key in keys)
                {
                    _dicStrings.TryRemove(string.Concat(key), out var old);
                }
            }) as IPubSubSubscriber;

            var context = new ClientSideCachingContext(cli, sub);

            cli.Interceptors.Add(() => new MemoryCacheAop());
            cli.Unavailable += (_, e) =>
            {
                _dicStrings.Clear();
            };
            cli.Connected += (_, e) =>
            {
                e.Client.ClientTracking(true, context._sub.RedisSocket.ClientId, null, false, false, false, false);
            };
        }
Esempio n. 3
0
 public MemoryCacheAop(ClientSideCachingContext cscc)
 {
     _cscc = cscc;
 }
Esempio n. 4
0
 public MemoryCacheAop(ClientSideCachingContext context)
 {
     _context = context;
 }