mysql - Rails mysql 获取旧值

标签 mysql ruby-on-rails passenger delayed-job

我们正在尝试为我们的生产环境实现分片。我们面临的问题是我们推迟了负责某些后台处理的工作。如果我们更新模型并在延迟作业中放入一个条目以在延迟作业中进行处理,那么它会获取该对象的旧值,并且不一致。例如,用户模型有名称、位置,如果我想在他更改位置时触发邮件,那么就像

usr = User.find(1)
usr.position = "foo"
usr.save 

在延迟作业中,如果我获取 usr = User.find(1),它将获取旧值。我们在生产环境中使用passenger,mysql我们仍然在Rails 2.3.18上。在我们的应用程序操作中遇到同样的问题之前,这也是由 mysql 查询缓存中的错误引起的,我们停止使用它,并且问题在我们的应用程序操作中得到了解决

最佳答案

这看起来像是一个缓存问题,有很多解决方法,在您继续并使整个缓存失效之前,这会影响性能,我建议您在使用之前发出 usr.reload对象。

问候,

关于mysql - Rails mysql 获取旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751432/

相关文章:

MySQL decimal(10,2) 增加10%

mysql - Mariadb 10.1.26 递归查询

mysql - 如何在MySQL存储过程中进行转换

ruby - nginx + passenger 上的多个 Rack 应用程序,一个作为 root,另一个不是...配置帮助

MySql Workbench 在创建模式时没有响应

ruby-on-rails - 路由错误没有路由匹配 { :action= >"show"

ruby-on-rails - 在没有本地存储的情况下通过 Rails 从网站下载图像到 CouchDB 附件?

ruby-on-rails - 只查找我编写的自定义方法,而不是任何继承的方法的方法 (Ruby)

生产环境中缺少 javascript_include_tag 文件 ( 404 )

ruby-on-rails - 将 rails 3.2.12 应用程序(带引擎)部署到 nginx/passenger 上的 SUB URI 时出现 404 Not Found 错误