예제 #1
0
        internal async Task <ScopedCacheItem <TValue> > GetItemAsync <TValue>(String cacheName, String key)
        {
            var id = ScopedCacheItem <TValue> .GetId(cacheName, key);

            var scopedCacheItemString = await client.Database.StringGetAsync(id).ConfigureAwait(false);

            return(convert.FromScopedRedis <TValue>(scopedCacheItemString));
        }
예제 #2
0
        internal ScopedCacheItem <TValue> GetItem <TValue>(String cacheName, String key)
        {
            var id = ScopedCacheItem <TValue> .GetId(cacheName, key);

            var scopedCacheItemString = client.Database.StringGet(id);

            return(convert.FromScopedRedis <TValue>(scopedCacheItemString));
        }
예제 #3
0
        internal Task ClearItemsAsync(String cacheName)
        {
            var keyPrefix = ScopedCacheItem <object> .GetId(cacheName, string.Empty);

            var keys = client.MasterServer.Keys(0, string.Format("*{0}*", keyPrefix), 1000, CommandFlags.None).ToArray();

            return(client.Database.KeyDeleteAsync(keys, CommandFlags.None));
        }
예제 #4
0
        internal Task RemoveItemAsync(String cacheName, String key)
        {
            var id = ScopedCacheItem <object> .GetId(cacheName, key);

            return(client.Database.KeyDeleteAsync(id, CommandFlags.None));
        }
예제 #5
0
        internal void RemoveItem(String cacheName, String key)
        {
            var id = ScopedCacheItem <object> .GetId(cacheName, key);

            client.Database.KeyDelete(id, CommandFlags.None);
        }
예제 #6
0
        internal void ExpireItemIn <TValue>(String cacheName, String key, TimeSpan timeSpan)
        {
            var id = ScopedCacheItem <TValue> .GetId(cacheName, key);

            ExpireById(id, timeSpan);
        }