关于实时访问数据库,大家给我点意见。在线。。。 我用c# winform 开发。需要界面上实时获取数据库的数据。。如定时器 没2秒 或3秒等 都不是实时的数据,并且没2秒 3秒访问数据库,很耗资源。大家有碰到这个问题的吗?实时访问数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种系统,直连数据库本身就是个问题,建议你搞个三层,中间加一个应用层,用socket传输数据,服务器推送,中间层可以做一些缓存操作,这样及时是 拉 的方式,服务器压力也会减少当然配合硬件也可以改善负载平衡 我的sqlserver 数据库里的一张表,我想在界面上实时的显示。SOCKET传输,服务器推送?可以说的详细点吗?或者用什么技术实现 如果两到三秒访问一次,如果只有一个客户端,建立一个连接是比较好的办法。关键是你的客户端同时会不会有几百个人同时在连,Oracle默认连接应该是150只要Sql语句查询的表不大,不耗资源,每隔2秒查询不是问题关于缓存: 楼主每隔2-3秒钟去查询数据库显然是为了得到最新数据这样要缓存有什么用呢?今天听了数据同步的一个讲座,听到的一些解决方案,可以给楼主借鉴:Timestamp - 比如你的查询表搞个时间戳,每次轮询去查时间戳,发现更新了之后再拉整个数据Trigger - 这也是个好方法Database log - 业内数据同步工作大多依赖于这个,个人没怎么用过,对Log不熟Data comparison - 比较麻烦 用户较少的话直接长连接吧,不会耗费什么资源的。java的连接池都是长连接,开5个或者10个一直放那。所以你只有1,2个用户的话就果断长连接吧。如果是用户很多的话你可以用内存数据库,反正也只一张表。 刚才回了个问题有点这方面感觉,感觉也适合你的,做个sql clr项目,自定义触发器,有数据更新时,通过Socket异步发送到显示前台,或发个指令给前台让前台来向数据库读取,那个肯定是实时了,无需做无用功了 你看一下我刚才做的一个示例吧Udp通知显示实现的很简单的,不过大致就这个思路吧,如果你有更好的请共享一下 关于mouseleave通用方法 bug?异常? SQL 语句问题 怎样读取数据库里面字段的总和??帮顶一下!! DSOFramer类型库如何注册,以及添加引用组件 C#中析构函数 remoting菜鸟提问? 如何判断一个日期超过了20天!? gridview + button 不错的挑战! C#安装部署中的几个问题 .rpt格式怎么打开 需要安装什么 WPF 中GridView如何实现动态添加列,每列可以绑定多个数据源
当然配合硬件也可以改善负载平衡
或者用什么技术实现
关键是你的客户端同时会不会有几百个人同时在连,Oracle默认连接应该是150
只要Sql语句查询的表不大,不耗资源,每隔2秒查询不是问题关于缓存: 楼主每隔2-3秒钟去查询数据库显然是为了得到最新数据
这样要缓存有什么用呢?今天听了数据同步的一个讲座,听到的一些解决方案,可以给楼主借鉴:
Timestamp - 比如你的查询表搞个时间戳,每次轮询去查时间戳,发现更新了之后再拉整个数据
Trigger - 这也是个好方法
Database log - 业内数据同步工作大多依赖于这个,个人没怎么用过,对Log不熟
Data comparison - 比较麻烦