public bool GetFromCacheOrFromDB <T>(uint Key, out T obj) { if (GetFromCache(Key, out T x)) { obj = x; return(true); } else { obj = HAdapter.Get <T>(Key); if (obj != default) { Put2ObjectMap(CacheObject <uint> .ValueOf(Key, obj)); } return(true); } }
public void IUpdateEntityIntime(uint Key, object Entity) { if (Entity is CacheObject <uint> x) { Put2ObjectMap(x); // UPDATE OBJECT IN LIST Update(x.GetEntity()); lock (UPDATE_QUEUE) UPDATE_QUEUE.Remove(x.GetKey()); } else { x = CacheObject <uint> .ValueOf(Key, Entity); Put2ObjectMap(x); Update(x.GetEntity()); lock (UPDATE_QUEUE) UPDATE_QUEUE.Remove(x.GetKey()); } }
public void ISubmitUpdate2Queue(uint Key, object Entity) { if (Entity is CacheObject <uint> x) { Put2ObjectMap(x); // UPDATE OBJECT IN LIST lock (UPDATE_QUEUE) if (!UPDATE_QUEUE.Contains(x.GetKey())) { UPDATE_QUEUE.Add(x.GetKey()); } } else { x = CacheObject <uint> .ValueOf(Key, Entity); Put2ObjectMap(x); lock (UPDATE_QUEUE) if (!UPDATE_QUEUE.Contains(x.GetKey())) { UPDATE_QUEUE.Add(x.GetKey()); } } }