Пример #1
0
        /// <summary>
        /// 获取model
        /// </summary>
        /// <param name="db"></param>
        /// <param name="query"></param>
        /// <param name="pageNum"></param>
        /// <returns></returns>
        public List <object> GetListModel(string db, string query, int pageNum)
        {
            if (!PageConfig.isMemory)
            {
                return(null);
            }
            Dictionary <string, PageSQL> pageSQL = null;
            PageSQL page = null;

            if (dicPageQuery.TryGetValue(db, out pageSQL))
            {
                if (pageSQL.TryGetValue(query, out page))
                {
                    var lst = queryCache.GetListModel(db, page.ID, pageNum);
                    if (lst == null && PageConfig.IsCacheFile)
                    {
                        return((List <object>)GetFile(db, page.ID, pageNum, true));
                    }
                    return(lst);
                }
            }
            else
            {
                Dictionary <string, DBQueryCache> cur = null;
                DBQueryCache cache = null;
                if (dicSQL.TryGetValue(db, out cur))
                {
                    if (cur.TryGetValue(query, out cache))
                    {
                        return(cache.GetListModel(pageNum));
                    }
                }
            }
            return(null);
        }
Пример #2
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="db"></param>
        /// <param name="query"></param>
        /// <param name="pageNum"></param>
        /// <returns></returns>
        public DataTable GetDataTable(string db, string query, int pageNum)
        {
            if (!PageConfig.isMemory)
            {
                return(null);
            }
            Dictionary <string, PageSQL> pageSQL = null;
            PageSQL page = null;

            if (dicPageQuery.TryGetValue(db, out pageSQL))
            {
                if (pageSQL.TryGetValue(query, out page))
                {
                    var dt = queryCache.GetDataTable(db, page.ID, pageNum);
                    if (dt == null && PageConfig.IsCacheFile)
                    {
                        return((DataTable)GetFile(db, page.ID, pageNum, true));
                    }
                    return(dt);
                }
            }
            else
            {
                Dictionary <string, DBQueryCache> cur = null;
                DBQueryCache cache = null;
                if (dicSQL.TryGetValue(db, out cur))
                {
                    if (cur.TryGetValue(query, out cache))
                    {
                        return(cache.GetDataTable(pageNum));
                    }
                }
            }
            return(null);
        }
Пример #3
0
        public DataTable GetDataTable(long queryID, int pageNum)
        {
            DBQueryCache queryCache = null;

            if (dicQuery.TryGetValue(queryID, out queryCache))
            {
                return(queryCache.GetDataTable(pageNum));
            }
            return(null);
        }
Пример #4
0
        public List <object> GetListModel(long queryID, int pageNum)
        {
            DBQueryCache queryCache = null;

            if (dicQuery.TryGetValue(queryID, out queryCache))
            {
                return(queryCache.GetListModel(pageNum));
            }
            return(null);
        }
Пример #5
0
        /// <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));
            }
        }
Пример #6
0
        /// <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));
            }
        }
Пример #7
0
        /// <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();
            }
        }