关于查询结果集缓存的问题

ruirui521 2003-08-18 10:02:34
我在做查询的时候,采取第一次根据查询条件从数据库中生成结果集,然后以后的操作(翻页,二次查询),都使用第一次的结果集,但是我现在在考虑把这个结果集缓存在哪里?
System.Web.Caching 好像不行,这个咚咚是全局的,能不能放在Session里呢?每个用户单独缓存自己的数据,但是Session里的数据大了,却还是InProc,会不会有问题啊。
不过,我没有想到能为每个用户单独缓存还可以放到哪儿了,请大家给个意见。
...全文
48 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruirui521 2003-08-19
  • 打赏
  • 举报
回复
最后我决定Retrieve了。
ruirui521 2003-08-18
  • 打赏
  • 举报
回复
up
ruirui521 2003-08-18
  • 打赏
  • 举报
回复
如果是Session的话,其实只是在Session里放了个引用把,DataView还是在内存里的,只不过Scope是Session而已阿,而且这个用户的当前页使用完以后就立刻释放掉。如果mode=SQLServer呢?
楼上的,Cache的话,如果两个用户的查询条件不一样,而且请求期很近,不是有问题?

另:请问思归,你有没有更好的解决方案。我只想第一次拿出DataView后,接下来的二次查询,翻页不再重复查询数据库。
cl_03 2003-08-18
  • 打赏
  • 举报
回复
每次翻页时刷新数据,会降低页面的响应速度,当数据库较大时这个问题更为明显.

我是放在cache中,他是全局的,但有什么问题吗?
saucer 2003-08-18
  • 打赏
  • 举报
回复
Session 里的数据大了,却还是InProc, 会有问题

you shouldn't cache the data, you should only retrieve the data for the current page
fly_miss 2003-08-18
  • 打赏
  • 举报
回复
关注中
ruirui521 2003-08-18
  • 打赏
  • 举报
回复
retrieve or cache???
chnking 2003-08-18
  • 打赏
  • 举报
回复
每次postback回来重新获取一次数据,会降低效率,影响速度。
把第一次的查询结果保存在Session中,这样要是同时在线的人数多了,会占用大量的服务器资料。
两害相权取其轻,我觉得还是重新获取数据来得合理些

62,040

社区成员

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

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

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

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