如:
我有一个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是针对当前用户的,根据你的需求自己考虑就知道了
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
传递的都是引用类型(指针),速度没区别。