Пример #1
0
        public async Task <T> GetByKeyAsync <T>(string index, string key)
        {
            var db  = CacheConnectionProvider.GetDatabase();
            var val = await db.HashGetAsync(key, index);

            return(val.HasValue ? JsonConvert.DeserializeObject <T>(val) : default(T));
        }
Пример #2
0
        public async Task <IEnumerable <T> > GetByKeysAsync <T>(params string[] keys)
        {
            var db     = CacheConnectionProvider.GetDatabase();
            var result = await Task.WhenAll(keys
                                            .Select(x => db.HashGetAsync(x, "payload"))
                                            );

            return(result
                   .Select(x => (x.HasValue ? JsonConvert.DeserializeObject <T>(x) : default(T)))
                   .Where(x => x != null));
        }
Пример #3
0
 public async Task UpsertKeyAsync <T>(string key, T entry) where T : new()
 {
     var db      = CacheConnectionProvider.GetDatabase();
     var payload = JsonConvert.SerializeObject(entry, _settings);
     await db.HashSetAsync(key, new[] { new HashEntry("payload", payload) });
 }
Пример #4
0
 public async Task DeleteKeyAsync(string key)
 {
     var db = CacheConnectionProvider.GetDatabase();
     await db.KeyDeleteAsync(key);
 }
Пример #5
0
 public async Task SetKeyExpirationAsync(string key, TimeSpan expiry)
 {
     var db = CacheConnectionProvider.GetDatabase();
     await db.KeyExpireAsync(key, expiry);
 }