|zyciis| 基础问题:Session 和 Cache 存放和读取的区别 还有
如:
我有一个Table个对像
想问一下他存入Session和存入Cache的速度
还有从Session和从Cache读取出来的速度
如:
C# code
DataTable dtSave = CreateMyTable()
Session["Mytab"]= dtSave;
DataTable dtRead = (DataTable)Session["Mytab"];
C# code
DataTable dtSave = CreateMyTable()
Session["Mytab"]= dtSave;
DataTable dtRead = (DataTable)Session["Mytab"];
上面的两种方法存取的速度分别是怎么样的
谢谢
------解决方案--------------------你测试一下从头走到尾要多久不就是了吗?
------解决方案--------------------借楼主的地方学习,mark。
------解决方案--------------------两者的区别应该不在于速度,而在于作用域。
------解决方案--------------------|zyciis|的问题总是问得那么经典^
------解决方案--------------------
------解决方案--------------------你可以写代码。
int elapsedTime = Environment.TickCount;
DataTable dtSave = CreateMyTable()
Cache["Mytab"]= dtSave;
DataTable dtRead = (DataTable)Cache["Mytab"];
elapsedTime = Environment.TickCount - elapsedTime;
DataTable dtSave = CreateMyTable()
Session["Mytab"]= dtSave;
DataTable dtRead = (DataTable)Session["Mytab"];
elapsedTime = Environment.TickCount - elapsedTime;
------解决方案--------------------问题有点........
速度没什么区别的
你想拿Cache做状态管理是么 ORZ
------解决方案--------------------我认为速度应该没什么区别,因为其实现方式是一样的
------解决方案--------------------速度不会明显的差异,都基于键/值对
(当前版本 Session 基于 System.Collections.Specialized.NameObjectCollectionBase 存储,Cache 未明)
但 Cache 需要更多的额外比较操作
------解决方案--------------------我测试一个表但他们用时都是0毫秒 也太夸张了吧
===========
如果不是 0 ms ,那才夸张~
------解决方案--------------------Cache是存放里面的DataTable其他用户可以共用的
可以给Cache设置一个有效时间
Session是针对当前用户的,根据你的需求自己考虑就知道了
------解决方案--------------------
------解决方案--------------------传递的都是引用类型(指针),速度没区别。