Ejemplo n.º 1
0
 private void AddEntryToMemoryAndStore(PersistentCacheEntry entry)
 {
     _InMemoryEntries[entry.Key] = entry;
     if (_Options.IsPersistent && !_IsReloadingFromStore)
     {
         LiteDbCacheEntry liteDbEntry = CreateLiteDbEntryFromPersistentEntry(entry);
         entry.PersistentStoreId = _Options.PersistentStore.AddEntry(liteDbEntry);
     }
 }
Ejemplo n.º 2
0
        private LiteDbCacheEntry CreateLiteDbEntryFromPersistentEntry(PersistentCacheEntry entry)
        {
            Type             cacheValueType = entry.Value?.GetType() ?? typeof(object);
            LiteDbCacheEntry liteDbEntry    = LiteDbCacheEntry.ConstructCacheEntry(cacheValueType);

            liteDbEntry.CacheName          = _Options.CacheName;
            liteDbEntry.Priority           = entry.Priority;
            liteDbEntry.Key                = entry.Key;
            liteDbEntry.LastAccessed       = entry.LastAccessed;
            liteDbEntry.AbsoluteExpiration = entry.AbsoluteExpiration;
            liteDbEntry.SlidingExpiration  = entry.SlidingExpiration;
            liteDbEntry.SetValue(entry.Value);
            return(liteDbEntry);
        }