/// <summary> /// 添加分页缓存 /// </summary> /// <param name="queryID">查询ID</param> /// <param name="pageNum">分页页号</param> /// <param name="models">数据</param> public List <object> Add(long queryID, int pageNum, List <object> models) { DBQueryCache queryCache = null; if (dicQuery.TryGetValue(queryID, out queryCache)) { return(queryCache.Add(pageNum, models)); } else { queryCache = new DBQueryCache(PageCacheNum) { QueryID = queryID }; dicQuery[queryID] = queryCache; return(queryCache.Add(pageNum, models)); } }
/// <summary> /// 添加分页缓存 /// </summary> /// <param name="queryID"></param> /// <param name="pageNum"></param> /// <param name="dt"></param> public DataTable Add(long queryID, int pageNum, DataTable dt) { DBQueryCache queryCache = null; if (dicQuery.TryGetValue(queryID, out queryCache)) { return(queryCache.Add(pageNum, dt)); } else { queryCache = new DBQueryCache(PageCacheNum) { QueryID = queryID }; dicQuery[queryID] = queryCache; return(queryCache.Add(pageNum, dt)); } }
/// <summary> /// 缓存数据 /// </summary> /// <param name="db">数据库名称(配置名称)</param> /// <param name="queryName">业务查询名称</param> /// <param name="pageNum">页号</param> /// <param name="data">数据</param> public void Add(string db, string queryName, int pageNum, object data) { if (!PageConfig.isMemory) { return; } Dictionary <string, PageSQL> pageSQL = null; PageSQL page = null; long id = -1; if (dicPageQuery.TryGetValue(db, out pageSQL)) { if (pageSQL.TryGetValue(queryName, out page)) { id = page.ID; } } if (id == -1) { //说明没有配置,则是SQL Dictionary <string, DBQueryCache> cur = null; DBQueryCache cache = null; if (dicSQL.TryGetValue(db, out cur)) { if (cur.TryGetValue(queryName, out cache)) { if (data is DataTable) { cache.Add(pageNum, (DataTable)data); } else { cache.Add(pageNum, (List <object>)data); } } else { cache = new DBQueryCache(PageConfig.PageCacheNum); cur[queryName] = cache; if (data is DataTable) { cache.Add(pageNum, (DataTable)data); } else { cache.Add(pageNum, (List <object>)data); } } } else { cache = new DBQueryCache(PageConfig.PageCacheNum); if (data is DataTable) { cache.Add(pageNum, (DataTable)data); } else { cache.Add(pageNum, (List <object>)data); } cur = new Dictionary <string, DBQueryCache>(); cur[queryName] = cache; dicSQL[db] = cur; } } else { object oldData = null; bool isModel = false; if (data is DataTable) { oldData = queryCache.Add(db, id, pageNum, (DataTable)data); } else { oldData = queryCache.Add(db, id, pageNum, (List <object>)data); isModel = true; } if (PageConfig.IsCacheFile && oldData != null) { PutFile(db, id, pageNum, oldData, isModel); SaveFile(); } Validate(); } }