将Session存放数据库中以后,增加在Session中保存的数据是否合适?

isyuezhi 2013-02-05 12:03:10
前题条件:
1、已通过配置将Session的存放位置放置于数据库中。
2、现有不同的登陆用户,其所分配的权限菜单不同。


问题:


如图,左边的这个是树型的导航菜单,而右边部份则是功能地图的快捷菜单,其对应的地址是:
主页面:default.aspx
左边树型菜单:default_menu.aspx
右边快捷菜单:default_taskmenu.aspx

而现在这两个页面,都是通过iframe显示在defaut.aspx页面下的。由于左边的树型菜单和弹出来的功能地图菜单其实是同一数据源(只是显示方式不同而已),但因为是放在两个页面中的,所以在绑定显示的时候,需要读取两次数据库。

现在我不想频繁的读取数据库(因为弹出的功能地图会被多次关闭与弹出,这样就会多次读取数据库),所以把这个菜单的数据源(DataTable)放到了Session中,因为我的Session也是保存在数据库中的,而且客户端会每20分钟向服务器端发出一次请求,所以只要客户端浏览器不关闭,Session就不会丢失。但我有几个不是很明白的地方,希望大家能够指点迷经。

不明之处:
1、我如果直接读数据库的效率和从Session中取数据源(Session也是保存在数据库中的)的效率有什么不同?这不都是从数据库中读取数据吗?
2、如果Session保存在进程中的话,这样会很消耗服务器的内存,但我将Session放到数据库中之后,这种方式是否妥当?
3、如果由你来设计这个功能,你会怎么搞?
...全文
211 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hauk 2013-02-05
  • 打赏
  • 举报
回复
1、效率上可能相差无几,甚至于自己从数据库读取更快。 2、这种方式也并无不妥,但是始终觉得不是很好。 3、我会直接读取数据库。
isyuezhi 2013-02-05
  • 打赏
  • 举报
回复
老规矩,自己先UP一下,哪位大牛来给解释解释哇,

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧