对于缓存的一些疑问:
1.用了缓存是不是可以减少sqlserver占的内存量?
2.是不是增了w3wp.exe占用内存的量?
3.如果w3wp.exe到内存限定值时回收的话,是不是缓存的内存就都清空了?
4.以下程序中的while循环中用car=new dpInfo(...);影响性能不,怎么设计最好? public IList<dpInfo> GetCategories(int pcur, int psize, string sqlstr)
{
IList<dpInfo> categories = null;
SqlParameter[] parms = new SqlParameter[]{
new SqlParameter("@sql",SqlDbType.VarChar,1000),
new SqlParameter("@PageCurrent", SqlDbType.Int,4),
new SqlParameter("@PageSize", SqlDbType.Int,4),
new SqlParameter("@PageCount", SqlDbType.Int,4)
};
parms[0].Value = sqlstr;
parms[1].Value = pcur;
parms[2].Value = psize;
parms[3].Direction = ParameterDirection.Output; using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.connectionString, CommandType.StoredProcedure, "sp_PageView", parms))
{
categories = new List<dpInfo>();
rdr.NextResult();
dpInfo cat = null;
while (rdr.Read())
{
cat = new dpInfo(Convert.ToInt32(rdr.GetValue(0)), Convert.ToInt32(rdr.GetValue(1)), Convert.ToInt32(rdr.GetValue(2)), Convert.ToInt32(rdr.GetValue(3)), ...);
categories.Add(cat);
}
}
return categories;
}
1.用了缓存是不是可以减少sqlserver占的内存量?
2.是不是增了w3wp.exe占用内存的量?
3.如果w3wp.exe到内存限定值时回收的话,是不是缓存的内存就都清空了?
4.以下程序中的while循环中用car=new dpInfo(...);影响性能不,怎么设计最好? public IList<dpInfo> GetCategories(int pcur, int psize, string sqlstr)
{
IList<dpInfo> categories = null;
SqlParameter[] parms = new SqlParameter[]{
new SqlParameter("@sql",SqlDbType.VarChar,1000),
new SqlParameter("@PageCurrent", SqlDbType.Int,4),
new SqlParameter("@PageSize", SqlDbType.Int,4),
new SqlParameter("@PageCount", SqlDbType.Int,4)
};
parms[0].Value = sqlstr;
parms[1].Value = pcur;
parms[2].Value = psize;
parms[3].Direction = ParameterDirection.Output; using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.connectionString, CommandType.StoredProcedure, "sp_PageView", parms))
{
categories = new List<dpInfo>();
rdr.NextResult();
dpInfo cat = null;
while (rdr.Read())
{
cat = new dpInfo(Convert.ToInt32(rdr.GetValue(0)), Convert.ToInt32(rdr.GetValue(1)), Convert.ToInt32(rdr.GetValue(2)), Convert.ToInt32(rdr.GetValue(3)), ...);
categories.Add(cat);
}
}
return categories;
}
解决方案 »
- + reader["ClassName"] “reader["ClassName"]”引发了“System.IndexOutOfRangeException”
- 文件查看如何做,比如,管理员上传word或者是pdf等其它文件,如何让用户在页面上浏览呢
- 这么写activex,还有如何调用
- 想了很久搞不懂的问题---水晶报表动态传入数据源的参数值
- 用javascript写了一个控制层的东西,为dropdownlist提供combobox风格的功能。
- 关于长度 length
- 为什么我读取的文件是乱码?
- 当无法使用grideview时候,如何快速输出Tale?
- <急>网站架构问题
- 谢谢hgknight(江雨.net)不厌其烦的帮我解决了一系列的问题,大家可以进来看看,会有收获的.特散分!
- 关于文本编辑器控件FCKEditor的使用 . 急!!!!!
- VS2010连接sqlserver2005数据库
1.用了缓存是不是可以减少sqlserver占的内存量?
如果用了缓存的话,可以减少数据库的操作,是可以达到这个目的
2.是不是增了w3wp.exe占用内存的量?
会
3.如果w3wp.exe到内存限定值时回收的话,是不是缓存的内存就都清空了?
这个不是很确定
4.以下程序中的while循环中用car=new dpInfo(...);影响性能不,怎么设计最好?
暂没有其它更好的办法以上是个人看法,不妥或有更好的方法的请指教
{
StringBuilder ohtml = new StringBuilder();
ohtml.Append("...");
return ohtml.ToString();
}
至于问题1嘛,减少了对数据库的访问次数,间接的减少了数据库的内存占用。
问题2,服务器缓存肯定是会增加服务端的内容,不过,这些都是小问题。可以忽略不计的。(PS,别告诉我用512内存的服务器。哈哈)
问题3,可以设定优先级
问题4:
rdr.NextResult();这个是读取下一个select的方法。前提是查询语句中有多个Select。如果只有一个select,那就获取不到数据了。
if(rdr!=null)
categories = new List<dpInfo>();
dpInfo cat = null;
的写法是正确的。
http://topic.csdn.net/t/20060331/09/4653053.html
http://topic.csdn.net/t/20041119/17/3569705.html
http://wenwen.soso.com/z/q201129884.htm
如果文件太大,或者没有及时释放资源,就会占内存
连续操作就会占CPU
如果内存满了,或者换页太频繁了,也会影响CPU毕竟CPU是串行的,要一个一个来执行
将要缓存数据中易变数据和不变数据分离,只缓存不变数据选择合适的缓存机制
主要是缓存命中率,减少数据库的负载
缓存就是时间控制
有GC管理
什么操作都消耗CPU,内存
{
StringBuilder ohtml = new StringBuilder();
ohtml.Append("...");
return ohtml.ToString();
}
2.会
3.应该不会清空,但是缓存可能出现问题
4.你的每一个参数都Convert.ToInt32看可不可以不转,直接用string; dpInfo cat = null的申明可以放在外面,里面每次赋值null就可以了
5.局部变量用完了会自动回收
6.耗cpu的必然耗费内存,但是作为存储耗费的就是内存个人理解!