Преглед на файлове

调整SqlSugar二级缓存由系统缓存服务类处理,并且增加sqlSugar:缓存前缀

林海波 преди 2 години
родител
ревизия
efd2731954
променени са 2 файла, в които са добавени 47 реда и са изтрити 45 реда
  1. 42 45
      Admin.NET/Admin.NET.Core/Cache/SqlSugarCache.cs
  2. 5 0
      Admin.NET/Admin.NET.Core/Const/CacheConst.cs

+ 42 - 45
Admin.NET/Admin.NET.Core/Cache/SqlSugarCache.cs

@@ -14,49 +14,46 @@ namespace Admin.NET.Core;
 /// </summary>
 public class SqlSugarCache : ICacheService
 {
-    /// <summary>
-    /// 内存缓存
-    /// </summary>
-    //private static readonly ICache _cache = App.GetService(typeof(ICache)) as ICache;
-    private static readonly ICache _cache = Cache.Default;
-
-    public void Add<V>(string key, V value)
-    {
-        _cache.Set(key, value);
-    }
-
-    public void Add<V>(string key, V value, int cacheDurationInSeconds)
-    {
-        _cache.Set(key, value, cacheDurationInSeconds);
-    }
-
-    public bool ContainsKey<V>(string key)
-    {
-        return _cache.ContainsKey(key);
-    }
-
-    public V Get<V>(string key)
-    {
-        return _cache.Get<V>(key);
-    }
-
-    public IEnumerable<string> GetAllKey<V>()
-    {
-        return _cache.Keys;
-    }
-
-    public V GetOrCreate<V>(string cacheKey, Func<V> create, int cacheDurationInSeconds = int.MaxValue)
-    {
-        if (!_cache.TryGetValue<V>(cacheKey, out V value))
-        {
-            value = create();
-            _cache.Set(cacheKey, value, cacheDurationInSeconds);
-        }
-        return value;
-    }
-
-    public void Remove<V>(string key)
-    {
-        _cache.Remove(key);
-    }
+	/// <summary>
+	/// 系统缓存服务
+	/// </summary>
+	private static readonly SysCacheService _cache = App.GetService<SysCacheService>();
+
+	public void Add<V>(string key, V value)
+	{
+		_cache.Set($"{CacheConst.SqlSugar}{key}", value);
+	}
+
+	public void Add<V>(string key, V value, int cacheDurationInSeconds)
+	{
+		_cache.Set($"{CacheConst.SqlSugar}{key}", value, TimeSpan.FromSeconds(cacheDurationInSeconds));
+	}
+
+	public bool ContainsKey<V>(string key)
+	{
+		return _cache.ExistKey($"{CacheConst.SqlSugar}{key}");
+	}
+
+	public V Get<V>(string key)
+	{
+		return _cache.Get<V>($"{CacheConst.SqlSugar}{key}");
+	}
+
+	public IEnumerable<string> GetAllKey<V>()
+	{
+		return _cache.GetKeysByPrefixKey(CacheConst.SqlSugar);
+	}
+
+	public V GetOrCreate<V>(string key, Func<V> create, int cacheDurationInSeconds = int.MaxValue)
+	{
+		return _cache.GetOrAdd<V>($"{CacheConst.SqlSugar}{key}", (cacheKey) =>
+		{
+			return create();
+		}, cacheDurationInSeconds);
+	}
+
+	public void Remove<V>(string key)
+	{
+		_cache.Remove($"{CacheConst.SqlSugar}{key}");
+	}
 }

+ 5 - 0
Admin.NET/Admin.NET.Core/Const/CacheConst.cs

@@ -66,4 +66,9 @@ public class CacheConst
     /// 所有缓存关键字集合
     /// </summary>
     public const string KeyAll = "sys_keys";
+
+	/// <summary>
+	/// SqlSugar二级缓存
+	/// </summary>
+	public const string SqlSugar = "sqlSugar:";
 }