首页 新闻 会员 周边

谁有关于缓存好点的文章啊!

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-26 16:34

关于缓存的文章或者解决方案都可以,我对缓存了解的不是很清楚希望有高手可以指点一二

 

我现在手上有个关于缓存的 我看他是这样弄的

 /// <returns>返回 Select Proc Parms SqlParameter 对象</returns>
        public virtual SqlParameter[] GetSelectProcParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("selectProc");

            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[] {
                    new SqlParameter("@fileName", SqlDbType.NVarChar, 500),
                    new SqlParameter("@tableName", SqlDbType.NVarChar, 200),
                    new SqlParameter("@Sort", SqlDbType.NVarChar, 50),
                    new SqlParameter("@whereStr", SqlDbType.NVarChar, 500),
                    new SqlParameter("@groupStr", SqlDbType.NVarChar, 50)};
                //缓存新建的参数列表,并设置 KEY 值为 cardtype
                SqlHelper.CacheParameters("selectProc", parms);
            }
            return parms;
        }

        /// <returns>返回 Delete Proc Parms SqlParameter 对象</returns>
        public virtual SqlParameter[] GetDeleteProParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("deleteProc");

            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[] {
                    new SqlParameter("@tableName", SqlDbType.NVarChar, 100),
                    new SqlParameter("@whereStr", SqlDbType.NVarChar, 3500),
                    new SqlParameter("@groupStr", SqlDbType.NVarChar, 500),
                    new SqlParameter("@DeleteNum", SqlDbType.Int, 4)};
                //缓存新建的参数列表,并设置 KEY 值为 cardtype
                SqlHelper.CacheParameters("deleteProc", parms);
            }
            return parms;
        }

        /// <returns>返回 Select Count Proc Parms SqlParameter 对象</returns>
        /// <description>此存储过程功能,可以使用 select 返回,程序代码中做了ORDER BY,习惯单独做成一个了</description>
        public virtual SqlParameter[] GetCountProParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("countProc");
            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[] {
                    new SqlParameter("@fileName", SqlDbType.NVarChar, 100),
                    new SqlParameter("@tableName", SqlDbType.NVarChar, 50),
                    new SqlParameter("@whereStr", SqlDbType.NVarChar, 200),
                    new SqlParameter("@groupStr", SqlDbType.NVarChar, 200),
                    new SqlParameter("@CountNum", SqlDbType.Int, 4)};
                //缓存新建的参数列表,并设置 KEY 值为 cardtype
                SqlHelper.CacheParameters("countProc", parms);
            }
            return parms;
        }
        public virtual SqlParameter[] GetPageListParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("PageList");
            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[]{
                    new SqlParameter("@TableName",SqlDbType.NVarChar,200),
                    new SqlParameter("@FieldList",SqlDbType.NVarChar,2000),
                    new SqlParameter("@PrimaryKey",SqlDbType.NVarChar,100),
                    new SqlParameter("@Where",SqlDbType.NVarChar,2000),
                    new SqlParameter("@Order",SqlDbType.NVarChar,1000),
                    new SqlParameter("@SortType",SqlDbType.Int,4),
                    new SqlParameter("@RecorderCount",SqlDbType.Int,4),
                    new SqlParameter("@PageSize",SqlDbType.Int,4),
                    new SqlParameter("@PageIndex",SqlDbType.Int,4),
                    new SqlParameter("@TotalCount",SqlDbType.Int,4),
                    new SqlParameter("@TotalPageCount",SqlDbType.Int,4)};
                SqlHelper.CacheParameters("PageList", parms);
            }
            return parms;
        }
        public virtual SqlParameter[] GetListPageParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("ListPages");
            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[]{
                    new SqlParameter("@tblName",SqlDbType.NVarChar,200),
                    new SqlParameter("@fldName",SqlDbType.NVarChar,500),
                    new SqlParameter("@pageSize",SqlDbType.Int,4),
                    new SqlParameter("@page",SqlDbType.Int,4),
                    new SqlParameter("@pageCount",SqlDbType.Int,4),
                    new SqlParameter("@Counts",SqlDbType.Int,4),
                    new SqlParameter("@fldSort",SqlDbType.NVarChar,200),
                    new SqlParameter("@Sort",SqlDbType.Int,4),
                    new SqlParameter("@strCondition",SqlDbType.NVarChar,1000),
                    new SqlParameter("@ID",SqlDbType.NVarChar,150),
                    new SqlParameter("@Dist",SqlDbType.Int,4)};
                SqlHelper.CacheParameters("ListPages", parms);
            }
            return parms;
        }
        /// <returns>返回 Insert Sql Parms SqlParameter 对象</returns>
        public virtual SqlParameter[] GetInsertSqlParms()
        {
            SqlParameter[] parms = SqlHelper.GetCachedParameters("insertSql");

            //如果参数列表不存在
            if (parms == null)
            {
                parms = new SqlParameter[] {
                    new SqlParameter("@tableName", SqlDbType.NVarChar, 50),
                    new SqlParameter("@file", SqlDbType.NVarChar, 200),
                    new SqlParameter("@value", SqlDbType.NVarChar, 4000)};
                //缓存新建的参数列表,并设置 KEY 值为 insertSql
                SqlHelper.CacheParameters("insertSql", parms);
            }
            return parms;
        }

我就是不明白他把参数缓存起来 有什么作用!

尛小仙的主页 尛小仙 | 初学一级 | 园豆:158
提问于:2012-09-21 09:05
< >
分享
最佳答案
0
收获园豆:5
Qlin | 老鸟四级 |园豆:2403 | 2012-09-21 10:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册