读书人

|zyciis| 基础有关问题:Session 和 C

发布时间: 2012-01-12 22:11:58 作者: rapoo

|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是针对当前用户的,根据你的需求自己考虑就知道了

[解决办法]
探讨
我测试一个表但他们用时都是0毫秒 也太夸张了吧

===========

如果不是 0 ms ,那才夸张~

[解决办法]
传递的都是引用类型(指针),速度没区别。

读书人网 >asp.net

热点推荐