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)); }
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)); }
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)); }
internal Task RemoveItemAsync(String cacheName, String key) { var id = ScopedCacheItem <object> .GetId(cacheName, key); return(client.Database.KeyDeleteAsync(id, CommandFlags.None)); }
internal void RemoveItem(String cacheName, String key) { var id = ScopedCacheItem <object> .GetId(cacheName, key); client.Database.KeyDelete(id, CommandFlags.None); }
internal void ExpireItemIn <TValue>(String cacheName, String key, TimeSpan timeSpan) { var id = ScopedCacheItem <TValue> .GetId(cacheName, key); ExpireById(id, timeSpan); }