AWS RDS 数据库无法读取刚刚写入数据库的记录

用户83358

我看到一些使用 AWS RDS 数据库的 Laravel 代码出错。该代码将一条记录写入数据库,然后立即进行搜索以使用主键加载该记录,但没有得到任何结果。

如果我之后手动尝试,我会找到记录。如果我在代码中插入 1 秒的睡眠,它可以正常工作。

我已经尝试使用 Laravel 的读写主机单独设置。我也尝试将它们设置为同一台主机并且只使用一台主机。结果总是一样的。但是其他具有相同配置的环境没有错误。

RDS 中是否有选项需要更改才能在写入后立即可用。

最好的

错误是由于mySQL master-slave replication lag.

一个常见的错误是使用 mySQL 集群,然后在写入后立即执行读取。

由于读取发生在其中一台从/读取主机上,而写入发生在主服务器上,因此在读取时不会复制数据。

有几种方法可以纠正错误:

  1. 必须在主站(而不是从站)上立即执行读取操作。尽管您已经提到将其更改为单个主机,但人们在切换连接时经常会出错。请参阅此SO 帖子以在 Laravel 中正确切换连接
  2. 更简单的方法可能是使用Laravel 中stickydatabase选项注意:如果不小心仅用于您想要的用例,这可能会导致性能问题从文档:

sticky选项是一个可选值,可用于允许立即读取在当前请求周期内已写入数据库的记录。如果sticky启用选项并且在当前请求周期内对数据库执行了“写入”操作,则任何进一步的“读取”操作都将使用“写入”连接。

  1. 最“不明显”的方法是不要在写入后立即执行读取。根据您的用例考虑是否可以避免这种情况。

  2. 其他方法:请参阅此SO 帖子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Amazon AWS RDS:如何使数据库可公开访问互联网

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

如何从AWS RDS导出Postgres数据库

来自分类Dev

AWS RDS MySQL如何限制对单个EC2实例的数据库访问

来自分类Dev

使用AWS Java SDK将项目发布到RDS数据库表

来自分类Dev

克隆AWS环境,使其共享相同的RDS数据库

来自分类Dev

如何通过eb cli(django postgres)迁移AWS RDS数据库?

来自分类Dev

如何管理AWS RDS数据库连接?

来自分类Dev

允许AWS Lambda访问RDS数据库

来自分类Dev

AWS:无法从我的机器连接到RDS数据库

来自分类Dev

MariaDB将OQGRAPH安装为AWS RDS中的数据库引擎

来自分类Dev

使用只读副本升级在AWS RDS MySQL数据库上创建索引

来自分类Dev

在AWS RDS中克隆数据库之一以获取测试数据库

来自分类Dev

用于查询RDS数据库的AWS API

来自分类Dev

AWS ElasticBeanstalk上的Laravel应用程序未连接到RDS数据库

来自分类Dev

AWS CloudFormation:无法创建RDS数据库,因为数据库安全组无法引用Web服务器的安全组

来自分类Dev

AWS RDS MySQL数据库未采用pymysql的INSERT语句

来自分类Dev

具有所有特权时,AWS MySQL RDS无法创建新的数据库用户

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

使用与AWS RDS(psql)交互的REST API-如何保护超出API身份验证的数据库访问(写入)?

来自分类Dev

将AWS RDS postgres数据库与可写RDS postgres数据库同步

来自分类Dev

无法删除 AWS 上的 RDS 数据库

来自分类Dev

AWS RDS - Microsoft SQL Server Express - 无法添加有权查看/创建数据库的用户

来自分类Dev

部署时 AWS RDS 数据库变慢

来自分类Dev

AWS RDS postgres 数据库前端显示错误的日期

来自分类Dev

连接 AWS lambda 和 RDS 数据库时超时

来自分类Dev

将本地 PostgreSQL 数据库文件合并到 AWS RDS 数据库

来自分类Dev

非 AWS 服务器连接到 AWS RDS 数据库要慢得多

来自分类Dev

无法连接到 AWS-RDS MySql 数据库

Related 相关文章

  1. 1

    Amazon AWS RDS:如何使数据库可公开访问互联网

  2. 2

    在AWS RDS上使用ASP会话状态数据库

  3. 3

    如何从AWS RDS导出Postgres数据库

  4. 4

    AWS RDS MySQL如何限制对单个EC2实例的数据库访问

  5. 5

    使用AWS Java SDK将项目发布到RDS数据库表

  6. 6

    克隆AWS环境,使其共享相同的RDS数据库

  7. 7

    如何通过eb cli(django postgres)迁移AWS RDS数据库?

  8. 8

    如何管理AWS RDS数据库连接?

  9. 9

    允许AWS Lambda访问RDS数据库

  10. 10

    AWS:无法从我的机器连接到RDS数据库

  11. 11

    MariaDB将OQGRAPH安装为AWS RDS中的数据库引擎

  12. 12

    使用只读副本升级在AWS RDS MySQL数据库上创建索引

  13. 13

    在AWS RDS中克隆数据库之一以获取测试数据库

  14. 14

    用于查询RDS数据库的AWS API

  15. 15

    AWS ElasticBeanstalk上的Laravel应用程序未连接到RDS数据库

  16. 16

    AWS CloudFormation:无法创建RDS数据库,因为数据库安全组无法引用Web服务器的安全组

  17. 17

    AWS RDS MySQL数据库未采用pymysql的INSERT语句

  18. 18

    具有所有特权时,AWS MySQL RDS无法创建新的数据库用户

  19. 19

    在AWS RDS上使用ASP会话状态数据库

  20. 20

    使用与AWS RDS(psql)交互的REST API-如何保护超出API身份验证的数据库访问(写入)?

  21. 21

    将AWS RDS postgres数据库与可写RDS postgres数据库同步

  22. 22

    无法删除 AWS 上的 RDS 数据库

  23. 23

    AWS RDS - Microsoft SQL Server Express - 无法添加有权查看/创建数据库的用户

  24. 24

    部署时 AWS RDS 数据库变慢

  25. 25

    AWS RDS postgres 数据库前端显示错误的日期

  26. 26

    连接 AWS lambda 和 RDS 数据库时超时

  27. 27

    将本地 PostgreSQL 数据库文件合并到 AWS RDS 数据库

  28. 28

    非 AWS 服务器连接到 AWS RDS 数据库要慢得多

  29. 29

    无法连接到 AWS-RDS MySql 数据库

热门标签

归档