示例#1
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));
            }
        }
示例#2
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));
            }
        }
示例#3
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();
            }
        }