我们有一个 MySql 数据库,每秒有很多写入和更新,并且速度正在快速增长。
为了处理所有这些写入和更新,我们正在考虑在应用程序和数据库之间添加一个像 Rabbit mq 这样的排队实例,以便每个查询都将发送到队列,用户不必等待数据库完成插入和更新更新记录。
我们知道使用队列会导致数据库数据更新延迟,但这对我们的应用程序来说不是问题。
对于插入,我们当前使用“INSERT DELAYED”和 MyIsam 表,但我们无法通过更新来做到这一点。因此,经过一番挖掘后,我想出了排队选项。
这是减少对数据库进行大量写入的推荐方法吗?或者我们应该考虑另一种解决方案?
如果您有除 RabbitMQ 之外的任何建议,我们欢迎新想法。
另外 - PHP MySql PDO 与 RabbitMQ 的任何已知插件?
谢谢
我正在使用PHP7 + mongoDB.与composer一起安装的PHP驱动程序.
我有以下代码:
<?php
require 'vendor/autoload.php';
$m= new MongoDB\Client("mongodb://127.0.0.1/");
$db = $m->test_database;
$collection = $db->test_table;
$document = array( "first_name" => "Dude", "last_name" => "Dudly" );
$collection->insertOne($document);
$cursor = $collection->find();
foreach ($cursor as $document) {
echo $document["first_name"] . "\n";
}
$collection->remove();
?>
Run Code Online (Sandbox Code Playgroud)
按预期打印出" Dude ".但也有以下例外:
在...中调用未定义的方法MongoDB\Collection :: remove()
并且不会删除集合中插入的数据.
知道这里有什么问题吗?
谢谢!