问一个关于性能的问题,欢迎进来讨论一下

yg123aa 2009-05-12 10:28:46
情况是这样的,现在假如我在数据库的一个表里面,有1000记录。
我现在要在客户端用ajax随机的读这个表的一条数据,并在我的主页上显示出来,3秒一换。
这样的话,我的数据库承受的压力就比较大了,如果一万个用户访问我的主页的话,他们就算是不点页面,总共也是以3秒一万次的速度访问我的数据库。有一个解决办法就是,把这一千条记录生成为文本文件,然后我在服务器就不直接访问数据库了,每次随机读其中的文本文件。

我对缓存之类的不熟悉,或许可以通过缓存来解决这个问题,麻烦大家指导一下,或者推荐一些这方面的文章,谢谢
...全文
147 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wartim 2009-05-12
  • 打赏
  • 举报
回复
额。。看错了,webform啊。。。可能没这么智能的手段
wartim 2009-05-12
  • 打赏
  • 举报
回复
当然也可以不用错开这么复杂,同时访问可能性极低
wartim 2009-05-12
  • 打赏
  • 举报
回复
除了第一次马上取外,每30秒种取一次,每次取10条放在客户端,然后接下来的30秒从上次取来放在本地的10条记录每3秒显示一次,等10条都显示完了,过了30秒,继续去取下30秒要显示的10条记录
还可以错开第一次的时间,比如第一次取前有个几十毫秒的随机延迟量,客户端之间取数据的时间就可以错开
Jock.Chen 2009-05-12
  • 打赏
  • 举报
回复
DataSet放到HttpApplicationState对象保存.
yg123aa 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ak8800 的回复:]
引用 4 楼 blestcc 的回复:
1000倏記錄如果每倏記錄都很短不如一次性下載到客戶端,再由客戶去做每3秒更換的動作

这个方法可行,或者直接读取到内存中,供客户端调用!
[/Quote]

下载到客户端太大了一些,一条数据可能在300字左右。而且这个很麻烦,你不可能让页面在load的时候全部下完,只能在页面load后用ajax去读来下吧?这样的话下了哪些,显示哪些还要去判断,不方便的。


直接读到内存中怎么做啊?用DataSet的话不是每个页面单独创建的吗?或者DataSet可以共用,或者难道它能够24小时常驻内存?有没有资料可以供参考的,谢谢

光宇广贞 2009-05-12
  • 打赏
  • 举报
回复
你若不想监视远程用户的状态的话,就用4楼的方法,让客户端自己去完成这个。

你若想监视远程用户的状态的话,那么就需要降低密度。
yanleiyigan 2009-05-12
  • 打赏
  • 举报
回复
一次性全取出来在客户端刷
ak8800 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 blestcc 的回复:]
1000倏記錄如果每倏記錄都很短不如一次性下載到客戶端,再由客戶去做每3秒更換的動作
[/Quote]
这个方法可行,或者直接读取到内存中,供客户端调用!
zzxap 2009-05-12
  • 打赏
  • 举报
回复
用dataset
blestcc 2009-05-12
  • 打赏
  • 举报
回复
1000倏記錄如果每倏記錄都很短不如一次性下載到客戶端,再由客戶去做每3秒更換的動作
whyabc 2009-05-12
  • 打赏
  • 举报
回复
up
我不懂电脑 2009-05-12
  • 打赏
  • 举报
回复
http://www.ccvita.com/259.html
wujinjian2008n 2009-05-12
  • 打赏
  • 举报
回复
up
llsen 2009-05-12
  • 打赏
  • 举报
回复
用缓存

或者将数据保存进cookie中,然后不用一直和数据库打交到
showjancn 2009-05-12
  • 打赏
  • 举报
回复
"我对缓存之类的不熟悉,或许可以通过缓存来解决这个问题,麻烦大家指导一下,或者推荐一些这方面的文章"

楼主真是搞笑,恰恰是要用到这部分技术--------关键是缓存。
缓存有两种方式:一种是数据缓存。另一种是页面缓存。

至于你想要了解这方面资料。
可查阅一下微软企业库中缓存部分的资料可到Webcast上去听这方面的讲座。
烈火蜓蜻 2009-05-12
  • 打赏
  • 举报
回复
直接缓存到内存里就好了,1000条,真的是太小意思啦,我缓存过500万的数据,当然内存也占了300多M
ralpha08 2009-05-12
  • 打赏
  • 举报
回复
写错了 应该是以dataset的形式缓存到cache里
ralpha08 2009-05-12
  • 打赏
  • 举报
回复
以dataset的形式缓存到session里
yg123aa 2009-05-12
  • 打赏
  • 举报
回复
大家再帮忙思考下哦,尽量从缓存上面考虑

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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