首页新闻找找看学习计划

.net 谁有缓存socket客户端发送数据之后再写入数据库的例子

0
悬赏园豆:20 [待解决问题]

socket服务器接收客户端发送的数据,解析后存入sql server,发现客户端发送数据速度过快的情况下,数据库就成了瓶颈,单纯的同步插入或者异步插入都会存在丟数问题(数据已被服务器正确接收,但是插入数据库存在问题),能否有较好的方法解决此问题。

考虑用缓存什么的,但这方面不太了解,牵扯到缓存开辟在什么地方(单tcp连接会话上还是服务器实例上),锁的问题(缓存修改时机,存入数据库时机,并发问题)等等问题。

期待高手解决下,最好给个详细的教程或者实例。

haorenhl007的主页 haorenhl007 | 初学一级 | 园豆:184
提问于:2013-01-05 18:38
< >
分享
所有回答(2)
0

也不知道你的是什么数据,我的想法是,把数据变成byte[]封装到一个类里面对,然后用一个集合(List)存到数据对象的引用,服务器端负责存数据,另一个线程负责处理数据。

angelshelter | 园豆:9676 (大侠五级) | 2013-01-05 20:29
0

使用队列,接受的数据放到队列里面,然后从队列里面把数据写到数据库,相当于用队列缓冲下,不用队列比如用缓存,也可以达到相同的目的.中间有个缓冲其实就可以了

Tom.汤 | 园豆:1967 (小虾三级) | 2013-01-07 13:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册