mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
-
This commit is contained in:
parent
3377ac62a5
commit
070315c1e5
@ -271,17 +271,17 @@ namespace SqlSugar
|
||||
|
||||
public void RemoveCacheAll()
|
||||
{
|
||||
CacheHelper.RemoveAllCache();
|
||||
ReflectionInoHelper.RemoveAllCache();
|
||||
}
|
||||
|
||||
public void RemoveCacheAll<T>()
|
||||
{
|
||||
ReflectionInoCacheHelper<T>.GetInstance().RemoveAllCache();
|
||||
ReflectionInoCore<T>.GetInstance().RemoveAllCache();
|
||||
}
|
||||
|
||||
public void RemoveCache<T>(string key)
|
||||
{
|
||||
ReflectionInoCacheHelper<T>.GetInstance().Remove(key);
|
||||
ReflectionInoCore<T>.GetInstance().Remove(key);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -10,44 +10,44 @@ namespace SqlSugar
|
||||
{
|
||||
public void Add<V>(string key, V value)
|
||||
{
|
||||
ReflectionInoCacheHelper<V>.GetInstance().Add(key,value);
|
||||
ReflectionInoCore<V>.GetInstance().Add(key,value);
|
||||
}
|
||||
public void Add<V>(string key, V value, int cacheDurationInSeconds)
|
||||
{
|
||||
ReflectionInoCacheHelper<V>.GetInstance().Add(key, value,cacheDurationInSeconds);
|
||||
ReflectionInoCore<V>.GetInstance().Add(key, value,cacheDurationInSeconds);
|
||||
}
|
||||
|
||||
public bool ContainsKey<V>(string key)
|
||||
{
|
||||
return ReflectionInoCacheHelper<V>.GetInstance().ContainsKey(key);
|
||||
return ReflectionInoCore<V>.GetInstance().ContainsKey(key);
|
||||
}
|
||||
|
||||
public V Get<V>(string key)
|
||||
{
|
||||
return ReflectionInoCacheHelper<V>.GetInstance().Get(key);
|
||||
return ReflectionInoCore<V>.GetInstance().Get(key);
|
||||
}
|
||||
|
||||
public IEnumerable<string> GetAllKey<V>()
|
||||
{
|
||||
return ReflectionInoCacheHelper<V>.GetInstance().GetAllKey();
|
||||
return ReflectionInoCore<V>.GetInstance().GetAllKey();
|
||||
}
|
||||
|
||||
public V GetOrCreate<V>(string cacheKey, Func<V> create)
|
||||
{
|
||||
return ReflectionInoCacheHelper<V>.GetInstance().GetOrCreate(cacheKey, create);
|
||||
return ReflectionInoCore<V>.GetInstance().GetOrCreate(cacheKey, create);
|
||||
}
|
||||
|
||||
public void Remove<V>(string key)
|
||||
{
|
||||
ReflectionInoCacheHelper<V>.GetInstance().Remove(key);
|
||||
ReflectionInoCore<V>.GetInstance().Remove(key);
|
||||
}
|
||||
}
|
||||
public class ReflectionInoCacheHelper<V>
|
||||
public class ReflectionInoCore<V>
|
||||
{
|
||||
readonly System.Collections.Concurrent.ConcurrentDictionary<string, V> InstanceCache = new System.Collections.Concurrent.ConcurrentDictionary<string, V>();
|
||||
private static ReflectionInoCacheHelper<V> _instance = null;
|
||||
private static ReflectionInoCore<V> _instance = null;
|
||||
private static readonly object _instanceLock = new object();
|
||||
private ReflectionInoCacheHelper() { }
|
||||
private ReflectionInoCore() { }
|
||||
|
||||
public V this[string key]
|
||||
{
|
||||
@ -70,15 +70,15 @@ namespace SqlSugar
|
||||
return default(V);
|
||||
}
|
||||
|
||||
public static ReflectionInoCacheHelper<V> GetInstance()
|
||||
public static ReflectionInoCore<V> GetInstance()
|
||||
{
|
||||
if (_instance == null)
|
||||
lock (_instanceLock)
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = new ReflectionInoCacheHelper<V>();
|
||||
Action addItem =()=> { ReflectionInoCacheHelper<V>.GetInstance().RemoveAllCache(); };
|
||||
CacheHelper.AddRemoveFunc(addItem);
|
||||
_instance = new ReflectionInoCore<V>();
|
||||
Action addItem =()=> { ReflectionInoCore<V>.GetInstance().RemoveAllCache(); };
|
||||
ReflectionInoHelper.AddRemoveFunc(addItem);
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
@ -123,7 +123,7 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
internal static class CacheHelper
|
||||
internal static class ReflectionInoHelper
|
||||
{
|
||||
private static List<Action> removeActions = new List<Action>();
|
||||
internal static void AddRemoveFunc(Action removeAction)
|
||||
|
Loading…
Reference in New Issue
Block a user