我知道这是一个奇怪的问题,但我有2个服务器,一个是vps,另一个是mysql主机。现在我的问题是我想尝试降低vps的负载,因为它是一个启动128mb vps。
轻微的问题,使MySQL服务器像缓存一样工作所需要的东西,我无法访问MySQL服务器上的任何内容,除了我给出的数据库。
这需要一个单独的数据库吗?请告诉我,如果有可能我可以要求我的主人添加另一个数据库。
谢谢!
答案 0 :(得分:2)
如果您在VPS上托管使用MySQL作为数据库的网站,典型的请求是这样的:
如果没有首先通过Web服务器,就无法在数据库中发出请求。
如果您想减轻VPS上的负担,可以让脚本运行得更快。大多数Web应用程序中最耗时的部分是进行数据库查询并等待结果。在很多情况下,您可以使用像memcached这样的内存缓存,通过在VPS 上缓存数据库查询的结果来避免这种情况。但请注意内存设置 - 确保将分配的最大内存设置为足够低的设置,因为服务器的内存非常少。
以下是缓存SELECT查询结果的基本示例:
$cache = new Memcached();
$cache->addServer('localhost', 11211);
$article_key = "article[$article_id]";
$article = $cache->get($article_key);
if ($article === FALSE) {
$statement = $conn->prepare("SELECT * FROM articles WHERE id = :id");
$statement->exec(array('id' => $article_id));
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) === 0) {
// return a 404 status
}
$article = $result[0];
$cache->set($article_key, $article);
}
// display the article