public override object Add(string key, object entry, DateTime utcExpiry) { var item = LiteDbHelper.QueryAll <CacheItem>().Find(q => q.Key == key); if (item != null) { if (item.Expiration <= DateTime.Now) { LiteDbHelper.Delete <CacheItem>(item.Id); } else { return(BinarySerializer.Deserialize(item.Entry)); } } LiteDbHelper.Add(new CacheItem { Key = key, Entry = BinarySerializer.Serialize(entry), Expiration = utcExpiry, CreatedDate = DateTime.UtcNow }); return(entry); }
public override void Set(string key, object entry, DateTime utcExpiry) { var item = LiteDbHelper.QueryAll <CacheItem>().Find(q => q.Key == key); if (item != null) { item.Entry = BinarySerializer.Serialize(entry); item.Expiration = utcExpiry; LiteDbHelper.Update(item); } else { LiteDbHelper.Add(new CacheItem { Key = key, Entry = BinarySerializer.Serialize(entry), Expiration = utcExpiry, CreatedDate = DateTime.UtcNow }); } }