Example #1
0
        public Task <byte[]> GetAsync(string key)
        {
            return(Task.Run(() =>
            {
                RealmCache obj = default(RealmCache);

                using (var realm = Realms.Realm.GetInstance(Config))
                    using (var trans = realm.BeginWrite())
                    {
                        try
                        {
                            obj = realm.Find <RealmCache>(key);
                        }
                        catch (Exception e)
                        {
                            Log.Warn("Failed to load cache key '{Key}', {Message}", e.Message);
                        }

                        if (obj != null)
                        {
                            obj.LastAccess = DateTimeOffset.UtcNow;
                            realm.Add(obj, update: true);
                            trans.Commit();

                            return obj.Value;
                        }

                        return null;
                    }
            }));
        }
Example #2
0
 public Task DeleteAsync(string key)
 {
     return(Task.Run(() =>
     {
         using (var realm = Realms.Realm.GetInstance(Config))
             using (var trans = realm.BeginWrite())
             {
                 var obj = new RealmCache {
                     Key = key
                 };
                 realm.Remove(obj);
                 trans.Commit();
             }
     }));
 }