关于socket开发的服务器客户端,频繁操作数据库的问题。(100)

L

lfc2000

Unregistered / Unconfirmed
GUEST, unregistred user!
现在比如我数据库有100万条数据,客户端都是通过intenet访问我的数据库,但是特别频繁,每次都查询数据库的话服务器压力太大。怎么做能让客户端查询数据的速度够快,服务器压力还不大,是不是需要做本地内存缓存呢。有这方面经验的哥们帮忙分析一下。如果说把数据都取到本地这个应该不行。100万数据通过互联网取到本地很慢。客户的网络状况不是太好。
 
难道你直连的数据库?如果这样你的结构没办法.改成3层结构,服务器缓存数据就好.
 
不是直接连的。中间有个服务,在服务器上缓存数据?还是在每个客户端啊?
 
显然在服务器上缓存数据
 
在服务器上缓存,客户端怎么取得这些数据?
 
这100万的数据如果是相对固定的,那么查询出来后,打包放到文件里,客户端每次来访问的时候把差异部分返回就行了.如果是不能确定的,需要从数据库查询的,那就只能查询后,压缩一下,传到客户端,然后解压缩就行了.
 
内存里查找数据,自己写算法啊,什么都要现成的才能写吗?
 
你将100W数据,加载到服务端的内存中,然后,client有请求,就在内存处理,再返回结果,不就行了?这样也就是服务端第一次加载的时候稍慢些。第一次加载,中间间隔N秒再检查库里面是否有更新,再更新到内存中。100W数据,应该可以加载到内存中的
 
to:smlabc 谢谢兄弟意见,不是什么都要现成的,只是不明白你的意思,我在服务器端缓存数据有什么意义?客户端取数据不还是要从服务器的内存中取吗?跟在数据库中取有什么区别。to errorcode:谢谢兄弟意见,我认为是不是应该把数据缓存到客户端才有意义?为什么都要缓存到服务器上呢?
 
不好意思两位大哥,好像我明白你们的意思了。谢谢了
 
用QuickBurro吧,带大数据集的中间层分页查询功能,速度快、可靠性高!支持多用户环境下的分页查询多会话、会话保持、异常终结会话等。
 
不考虑换数据库,应该从优化SQL查询语句,创建索引,分页显示方向着手。
 
多人接受答案了。
 
顶部