关于缓存的文章或者解决方案都可以,我对缓存了解的不是很清楚希望有高手可以指点一二
我现在手上有个关于缓存的 我看他是这样弄的
/// <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; }
我就是不明白他把参数缓存起来 有什么作用!