添加缓存
This commit is contained in:
parent
0c95613ed4
commit
1911844256
|
|
@ -6,6 +6,7 @@ using HuanMeng.DotNetCore.JwtInfrastructure.Interface;
|
||||||
using HuanMeng.DotNetCore.MultiTenant;
|
using HuanMeng.DotNetCore.MultiTenant;
|
||||||
using HuanMeng.DotNetCore.MultiTenant.Contract;
|
using HuanMeng.DotNetCore.MultiTenant.Contract;
|
||||||
using HuanMeng.MiaoYu.Code.Cache;
|
using HuanMeng.MiaoYu.Code.Cache;
|
||||||
|
using HuanMeng.MiaoYu.Code.Cache.Contract;
|
||||||
using HuanMeng.MiaoYu.Code.DataAccess;
|
using HuanMeng.MiaoYu.Code.DataAccess;
|
||||||
|
|
||||||
using HuanMeng.MiaoYu.Code.TencentUtile;
|
using HuanMeng.MiaoYu.Code.TencentUtile;
|
||||||
|
|
@ -31,7 +32,7 @@ namespace HuanMeng.MiaoYu.Code.Base
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// BLL父类
|
/// BLL父类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class MiaoYuBase : BLLBase<DAO>
|
public class MiaoYuBase : CacheBase//BLLBase<DAO>
|
||||||
{
|
{
|
||||||
|
|
||||||
public MiaoYuBase(IServiceProvider serviceProvider) : base(serviceProvider)
|
public MiaoYuBase(IServiceProvider serviceProvider) : base(serviceProvider)
|
||||||
|
|
@ -259,7 +260,7 @@ namespace HuanMeng.MiaoYu.Code.Base
|
||||||
if (_miaoYuCache == null)
|
if (_miaoYuCache == null)
|
||||||
{
|
{
|
||||||
//new MiaoYuDataEntityCache<T_Character>(Dao).DataList
|
//new MiaoYuDataEntityCache<T_Character>(Dao).DataList
|
||||||
_miaoYuCache = new MiaoYuCache(Dao, Mapper);
|
_miaoYuCache = new MiaoYuCache(this);
|
||||||
}
|
}
|
||||||
return _miaoYuCache;
|
return _miaoYuCache;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
63
src/0-core/HuanMeng.MiaoYu.Code/Cache/Contract/CacheBase.cs
Normal file
63
src/0-core/HuanMeng.MiaoYu.Code/Cache/Contract/CacheBase.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
using AutoMapper;
|
||||||
|
|
||||||
|
using HuanMeng.DotNetCore.Base;
|
||||||
|
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace HuanMeng.MiaoYu.Code.Cache.Contract
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class CacheBase : BLLBase<DAO>
|
||||||
|
{
|
||||||
|
public CacheBase(IServiceProvider serviceProvider) : base(serviceProvider)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 数据库
|
||||||
|
private DAO _dao;
|
||||||
|
/// <summary>
|
||||||
|
/// dao 数据库
|
||||||
|
/// </summary>
|
||||||
|
public override DAO Dao
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_dao == null)
|
||||||
|
{
|
||||||
|
_dao = new DAO(_serviceProvider);
|
||||||
|
}
|
||||||
|
return _dao;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 映射
|
||||||
|
private IMapper _mapper;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// dto映射
|
||||||
|
/// </summary>
|
||||||
|
//[FromServices]
|
||||||
|
public virtual IMapper Mapper
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_mapper == null)
|
||||||
|
{
|
||||||
|
_mapper = _serviceProvider.GetRequiredService<IMapper>();
|
||||||
|
}
|
||||||
|
return _mapper;
|
||||||
|
}
|
||||||
|
set { _mapper = value; }
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -15,7 +15,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// 缓存类
|
/// 缓存类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dao"></param>
|
/// <param name="dao"></param>
|
||||||
public partial class MiaoYuCache(DAO dao, IMapper mapper)
|
public partial class MiaoYuCache(CacheBase cacheBase)
|
||||||
{
|
{
|
||||||
#region 角色缓存表
|
#region 角色缓存表
|
||||||
|
|
||||||
|
|
@ -33,7 +33,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
if (Character == null)
|
if (Character == null)
|
||||||
{
|
{
|
||||||
//Character = new MiaoYuDataEntityCache<T_Character>(dao, MiaoYuCacheExtend.CharacterLock);
|
//Character = new MiaoYuDataEntityCache<T_Character>(dao, MiaoYuCacheExtend.CharacterLock);
|
||||||
Character = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character>(dao);
|
Character = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character>(cacheBase);
|
||||||
}
|
}
|
||||||
return Character.DataList ?? new List<T_Character>();
|
return Character.DataList ?? new List<T_Character>();
|
||||||
}
|
}
|
||||||
|
|
@ -57,8 +57,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
{
|
{
|
||||||
if (ModelConfig == null)
|
if (ModelConfig == null)
|
||||||
{
|
{
|
||||||
//ModelConfig = new MiaoYuDataEntityCache<T_Model_Config>(dao, MiaoYuCacheExtend.ModelConfigLock);
|
ModelConfig = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Model_Config>(cacheBase);
|
||||||
ModelConfig = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Model_Config>(dao);
|
|
||||||
}
|
}
|
||||||
return ModelConfig.DataList ?? new List<T_Model_Config>();
|
return ModelConfig.DataList ?? new List<T_Model_Config>();
|
||||||
}
|
}
|
||||||
|
|
@ -70,7 +69,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色缓存表
|
/// 角色缓存表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CharacterEntityCache? CharacterCache { get; set; }
|
public CommonDataEntityCache<CharacterCache>? CharacterCache { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色
|
/// 角色
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -80,8 +79,8 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
{
|
{
|
||||||
if (CharacterCache == null)
|
if (CharacterCache == null)
|
||||||
{
|
{
|
||||||
|
CharacterCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<CharacterCache>(cacheBase);
|
||||||
CharacterCache = new CharacterEntityCache(dao, mapper);
|
//CharacterCache = new CharacterEntityCache(cacheBase);
|
||||||
}
|
}
|
||||||
return CharacterCache.DataList ?? new List<CharacterCache>();
|
return CharacterCache.DataList ?? new List<CharacterCache>();
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +104,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
if (ImageConfigCache == null)
|
if (ImageConfigCache == null)
|
||||||
{
|
{
|
||||||
//ImageConfigCache = new MiaoYuDataEntityCache<T_Image_Config>(dao, MiaoYuCacheExtend.ImageConfigLock);
|
//ImageConfigCache = new MiaoYuDataEntityCache<T_Image_Config>(dao, MiaoYuCacheExtend.ImageConfigLock);
|
||||||
ImageConfigCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Image_Config>(dao);
|
ImageConfigCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Image_Config>(cacheBase);
|
||||||
}
|
}
|
||||||
return ImageConfigCache.DataList ?? new List<T_Image_Config>();
|
return ImageConfigCache.DataList ?? new List<T_Image_Config>();
|
||||||
}
|
}
|
||||||
|
|
@ -131,7 +130,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
if (CharacterTypeCache == null)
|
if (CharacterTypeCache == null)
|
||||||
{
|
{
|
||||||
//CharacterTypeCache = new MiaoYuDataEntityCache<T_Character_Type>(dao, MiaoYuCacheExtend.CharacterTypeLock);
|
//CharacterTypeCache = new MiaoYuDataEntityCache<T_Character_Type>(dao, MiaoYuCacheExtend.CharacterTypeLock);
|
||||||
CharacterTypeCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character_Type>(dao);
|
CharacterTypeCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character_Type>(cacheBase);
|
||||||
}
|
}
|
||||||
return CharacterTypeCache.DataList ?? new List<T_Character_Type>();
|
return CharacterTypeCache.DataList ?? new List<T_Character_Type>();
|
||||||
}
|
}
|
||||||
|
|
@ -156,7 +155,7 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
if (CharacterTypeIntimacyCache == null)
|
if (CharacterTypeIntimacyCache == null)
|
||||||
{
|
{
|
||||||
//CharacterTypeIntimacyCache = new MiaoYuDataEntityCache<T_Character_Type_Intimacy>(dao, MiaoYuCacheExtend.CharacterTypeIntimacyLock);
|
//CharacterTypeIntimacyCache = new MiaoYuDataEntityCache<T_Character_Type_Intimacy>(dao, MiaoYuCacheExtend.CharacterTypeIntimacyLock);
|
||||||
CharacterTypeIntimacyCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character_Type_Intimacy>(dao);
|
CharacterTypeIntimacyCache = MiaoYuCacheExtend.GetMiaoYuDataEntityCache<T_Character_Type_Intimacy>(cacheBase);
|
||||||
}
|
}
|
||||||
return CharacterTypeIntimacyCache.DataList ?? new List<T_Character_Type_Intimacy>();
|
return CharacterTypeIntimacyCache.DataList ?? new List<T_Character_Type_Intimacy>();
|
||||||
}
|
}
|
||||||
|
|
@ -205,7 +204,13 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
{ typeof(T_Image_Config), ImageConfigLock },
|
{ typeof(T_Image_Config), ImageConfigLock },
|
||||||
{ typeof(T_Character_Type), CharacterTypeLock },
|
{ typeof(T_Character_Type), CharacterTypeLock },
|
||||||
{ typeof(T_Character_Type_Intimacy), CharacterTypeIntimacyLock },
|
{ typeof(T_Character_Type_Intimacy), CharacterTypeIntimacyLock },
|
||||||
|
};
|
||||||
|
/// <summary>
|
||||||
|
/// 特殊的缓存锁对象
|
||||||
|
/// </summary>
|
||||||
|
public static Dictionary<Type, object> SpecialCacheLockList { get; set; } = new Dictionary<Type, object>
|
||||||
|
{
|
||||||
|
{ typeof(CharacterCache), CharacterLock },
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -214,29 +219,35 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// 获取对应的缓存
|
/// 获取对应的缓存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <param name="dao"></param>
|
/// <param name="cacheBase"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static CommonDataEntityCache<T> GetMiaoYuDataEntityCache<T>(DAO dao) where T : class
|
public static CommonDataEntityCache<T> GetMiaoYuDataEntityCache<T>(CacheBase cacheBase) where T : class
|
||||||
{
|
{
|
||||||
object cacheLock;
|
object cacheLock;
|
||||||
if (!CacheLockList.TryGetValue(typeof(T), out cacheLock))
|
var typeo = typeof(T);
|
||||||
|
if (SpecialCacheLockList.TryGetValue(typeo, out cacheLock))
|
||||||
{
|
{
|
||||||
Console.WriteLine("没有找到锁对象==>" + typeof(T).Name);
|
var o = new CharacterEntityCache(cacheBase, cacheLock) as CommonDataEntityCache<T>;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
if (!CacheLockList.TryGetValue(typeo, out cacheLock))
|
||||||
|
{
|
||||||
|
Console.WriteLine("没有找到锁对象==>" + typeo.Name);
|
||||||
// 创建一个新的锁对象,并添加到 CacheLockList 中
|
// 创建一个新的锁对象,并添加到 CacheLockList 中
|
||||||
cacheLock = new object();
|
cacheLock = new object();
|
||||||
CacheLockList[typeof(T)] = cacheLock;
|
CacheLockList[typeo] = cacheLock;
|
||||||
}
|
}
|
||||||
return new MiaoYuDataEntityCache<T>(dao, cacheLock);
|
return new MiaoYuDataEntityCache<T>(cacheBase, cacheLock);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取缓存数据
|
/// 获取缓存数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <param name="dao"></param>
|
/// <param name="cacheBase"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<T> GetMiaoYuDataEntityCacheList<T>(DAO dao) where T : class
|
public static List<T> GetMiaoYuDataEntityCacheList<T>(CacheBase cacheBase) where T : class
|
||||||
{
|
{
|
||||||
var cache = GetMiaoYuDataEntityCache<T>(dao);
|
var cache = GetMiaoYuDataEntityCache<T>(cacheBase);
|
||||||
return cache?.DataList ?? new List<T>();
|
return cache?.DataList ?? new List<T>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -244,21 +255,44 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// 清除全部缓存
|
/// 清除全部缓存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dao"></param>
|
/// <param name="dao"></param>
|
||||||
public static void ClareMiaoYuDataEntityCache(DAO dao)
|
public static void ClareMiaoYuDataEntityCache(CacheBase cacheBase)
|
||||||
{
|
{
|
||||||
foreach (var item in CacheLockList)
|
foreach (var item in CacheLockList)
|
||||||
{
|
{
|
||||||
var t = item.Key;
|
var t = item.Key;
|
||||||
Type cacheType = typeof(MiaoYuDataEntityCache<>).MakeGenericType(t);
|
Type cacheType = typeof(MiaoYuDataEntityCache<>).MakeGenericType(t);
|
||||||
var shujuduixiang = Activator.CreateInstance(cacheType, dao, item.Value,36000);
|
var shujuduixiang = Activator.CreateInstance(cacheType, cacheBase, item.Value, 36000);
|
||||||
var x = shujuduixiang as ICacheClearData;
|
var x = shujuduixiang as ICacheClearData;
|
||||||
if (x != null)
|
if (x != null)
|
||||||
{
|
{
|
||||||
x.ClearData();
|
x.ClearData();
|
||||||
}
|
}
|
||||||
//new MiaoYuDataEntityCache<T>(dao, cacheLock);
|
|
||||||
//Activator.CreateInstance(t);
|
|
||||||
}
|
}
|
||||||
|
var obj = SpecialCacheLockList[typeof(CharacterEntityCache)];
|
||||||
|
CharacterEntityCache characterEntityCache = new CharacterEntityCache(cacheBase, obj);
|
||||||
|
characterEntityCache.ClearData();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新部缓存
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dao"></param>
|
||||||
|
public static void ReloadMiaoYuDataEntityCache(CacheBase cacheBase)
|
||||||
|
{
|
||||||
|
foreach (var item in CacheLockList)
|
||||||
|
{
|
||||||
|
var t = item.Key;
|
||||||
|
Type cacheType = typeof(MiaoYuDataEntityCache<>).MakeGenericType(t);
|
||||||
|
var shujuduixiang = Activator.CreateInstance(cacheType, cacheBase, item.Value, 36000);
|
||||||
|
var x = shujuduixiang as ICacheReloadData;
|
||||||
|
if (x != null)
|
||||||
|
{
|
||||||
|
x.ReloadData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var obj = SpecialCacheLockList[typeof(CharacterEntityCache)];
|
||||||
|
CharacterEntityCache characterEntityCache = new CharacterEntityCache(cacheBase, obj);
|
||||||
|
characterEntityCache.ReloadData();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -288,13 +322,13 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// <param name="imageId"></param>
|
/// <param name="imageId"></param>
|
||||||
/// <param name="dao"></param>
|
/// <param name="dao"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string GetImageUrl(this int imageId, DAO dao)
|
public static string GetImageUrl(this int imageId, CacheBase cacheBase)
|
||||||
{
|
{
|
||||||
if (imageId == 0 || dao == null)
|
if (imageId == 0 || cacheBase == null)
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
MiaoYuCache miaoYuCache = new MiaoYuCache(dao, null);
|
MiaoYuCache miaoYuCache = new MiaoYuCache(cacheBase);
|
||||||
|
|
||||||
return GetImageUrl(imageId, miaoYuCache);
|
return GetImageUrl(imageId, miaoYuCache);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
using HuanMeng.MiaoYu.Code.Cache.Contract;
|
||||||
using HuanMeng.MiaoYu.Code.DataAccess;
|
using HuanMeng.MiaoYu.Code.DataAccess;
|
||||||
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
@ -9,9 +10,10 @@ namespace HuanMeng.MiaoYu.Code.Cache
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 妙语数据库实体类缓存
|
/// 妙语数据库实体类缓存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class MiaoYuDataEntityCache<T>(DAO _dao, object lockObj, int cacheTime = 36000)
|
public class MiaoYuDataEntityCache<T>(CacheBase cacheBase, object lockObj, int cacheTime = 36000)
|
||||||
: CommonDataEntityCache<T>(lockObj, cacheTime) where T : class
|
: CommonDataEntityCache<T>(lockObj, cacheTime) where T : class
|
||||||
{
|
{
|
||||||
|
public DataAccess.DAO _dao = cacheBase.Dao;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 缓存的key
|
/// 缓存的key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
|
|
||||||
|
using HuanMeng.MiaoYu.Code.Cache.Contract;
|
||||||
using HuanMeng.MiaoYu.Model.Dto;
|
using HuanMeng.MiaoYu.Model.Dto;
|
||||||
using HuanMeng.MiaoYu.Model.Dto.Character;
|
using HuanMeng.MiaoYu.Model.Dto.Character;
|
||||||
using HuanMeng.MiaoYu.Model.Dto.Label;
|
using HuanMeng.MiaoYu.Model.Dto.Label;
|
||||||
|
|
@ -12,12 +14,13 @@ namespace HuanMeng.MiaoYu.Code.Cache.Special
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="_dao"></param>
|
/// <param name="_dao"></param>
|
||||||
public class CharacterEntityCache(DAO _dao, IMapper mapper) : MiaoYuDataEntityCache<CharacterCache>(_dao, CharacterCacheLock)
|
public class CharacterEntityCache(CacheBase cacheBase, object CharacterCacheLock) : MiaoYuDataEntityCache<CharacterCache>(cacheBase, CharacterCacheLock)
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 锁
|
/// 锁
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static object CharacterCacheLock = new object();
|
private static object CharacterCacheLock = new object();
|
||||||
|
private IMapper mapper = cacheBase.Mapper;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取缓存数据
|
/// 获取缓存数据
|
||||||
|
|
@ -27,7 +30,7 @@ namespace HuanMeng.MiaoYu.Code.Cache.Special
|
||||||
{
|
{
|
||||||
List<CharacterCache> characterCaches = new List<CharacterCache>();
|
List<CharacterCache> characterCaches = new List<CharacterCache>();
|
||||||
//读取角色表
|
//读取角色表
|
||||||
var characters = _dao.daoDbMiaoYu.context.T_Character.Where(it=>it.Visibility).ToList();
|
var characters = _dao.daoDbMiaoYu.context.T_Character.Where(it => it.Visibility).ToList();
|
||||||
if (characters == null)
|
if (characters == null)
|
||||||
{
|
{
|
||||||
return characterCaches;
|
return characterCaches;
|
||||||
|
|
@ -39,24 +42,28 @@ namespace HuanMeng.MiaoYu.Code.Cache.Special
|
||||||
//查询配置表
|
//查询配置表
|
||||||
var modelConfigs = _dao.daoDbMiaoYu.context.T_Model_Config.ToList();
|
var modelConfigs = _dao.daoDbMiaoYu.context.T_Model_Config.ToList();
|
||||||
//图片
|
//图片
|
||||||
var images = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Image_Config>(_dao);
|
var images = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Image_Config>(cacheBase);
|
||||||
//标签
|
//标签
|
||||||
var labels = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Label>(_dao);
|
var labels = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Label>(cacheBase);
|
||||||
//标签关联表
|
//标签关联表
|
||||||
var labelRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Label_Relation>(_dao);
|
var labelRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Label_Relation>(cacheBase);
|
||||||
|
|
||||||
//性格
|
//性格
|
||||||
var personalitys = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Personality>(_dao);
|
var personalitys = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Personality>(cacheBase);
|
||||||
//性格关联表
|
//性格关联表
|
||||||
var personalityRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Personality_Relation>(_dao);
|
var personalityRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Personality_Relation>(cacheBase);
|
||||||
//分类
|
//分类
|
||||||
var types = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Type>(_dao); ;
|
var types = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Type>(cacheBase); ;
|
||||||
//分类关联表
|
//分类关联表
|
||||||
var typesRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Type_Intimacy>(_dao); ;
|
var typesRelations = MiaoYuCacheExtend.GetMiaoYuDataEntityCacheList<T_Character_Type_Intimacy>(cacheBase); ;
|
||||||
|
|
||||||
foreach (var characterCache in characterCaches)
|
foreach (var characterCache in characterCaches)
|
||||||
{
|
{
|
||||||
var modelConfig = modelConfigs.FirstOrDefault(it => it.Id == characterCache.ModelConfigId);
|
var modelConfig = modelConfigs.FirstOrDefault(it => it.Id == characterCache.ModelConfigId);
|
||||||
|
if (modelConfig==null)
|
||||||
|
{
|
||||||
|
modelConfig= modelConfigs.FirstOrDefault();
|
||||||
|
}
|
||||||
if (modelConfig != null)
|
if (modelConfig != null)
|
||||||
{
|
{
|
||||||
characterCache.ModelConfig = modelConfig;
|
characterCache.ModelConfig = modelConfig;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,17 @@ namespace HuanMeng.MiaoYu.Code.Other
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task CleraCache()
|
public Task CleraCache()
|
||||||
{
|
{
|
||||||
MiaoYuCacheExtend.ClareMiaoYuDataEntityCache(Dao);
|
MiaoYuCacheExtend.ClareMiaoYuDataEntityCache(this);
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新缓存
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Task ReloadCache()
|
||||||
|
{
|
||||||
|
MiaoYuCacheExtend.ReloadMiaoYuDataEntityCache(this);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user