使用输出缓存或会话变量
问题描述:
即时通讯使用asp.net mvc 3.使用输出缓存或会话变量
即时通讯实现类似于SO的积分系统。我想在每个页面上显示用户点数。我应该将它存储在会话变量中吗?
或者我可以在部分操作上使用outputcache在每个页面上显示它吗? 我不想在每个页面上为此创建一个dbcall。
IM有点reluctan与会话变量,我听到太多的混合评论对他们
感谢
答
我不会存储在会话。
如果用户做了某件事会影响他们的积分,那么每次都必须更新会话。使用会话处理用户在网站上很少更改的内容(如用户名,首选项等)。
不要忘记,如果某人“上传”了某些用户所做的事情 - 如果不调用db,您会如何知道这一点?
我会在包含用户代表的表上使用常规的Cache
,可能还有SqlCacheDependency
,所以当它更改时会使缓存的数据无效。
+1正在写同样的东西 – 2011-02-04 10:05:16