Ruby 怎么样 watch mysql2 数据库

ucooling · 2015年03月26日 · 最后由 ery 回复于 2015年03月27日 · 2334 次阅读

现在有个需求,就是当数据库中的数据发生变化,然后我的 Client 会发送变化了的数据到 server 端,我想问现在 Ruby 有没有这样的 gem 包可以 watch 数据库的改变,或者有什么好的办法来做这件事情。大家有什么意见~

这种需求用 Redis 的 Pub/Sub 更合适。 http://redis.io/topics/pubsub

如果不想换数据库的话,只能轮询了,如果数据量大,请求频繁的话,轮询性能很低的。

#1 楼 @kgen 我们现在没有使用 Redis,换数据库不太可能,我们现在的想法是,想使用 SQS 来解决这个问题,轮询是在是太影响性能了。

可以考虑使用 https://github.com/numtel/meteor-mysql#event-types ,看看是不是有帮助。

#3 楼 @gazeldx 现在决定使用亚马逊的 SQS 了,谢谢各位

在 App 层中 Rails 有一个 observers 功能,Rails4.0 后成为了一个 Gem https://github.com/rails/rails-observers https://rubygems.org/gems/rails-observers

在数据库层,我也不知道有什么办法。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号