Memcached 键值缓存存储

根据 Memcached 官方网站的介绍,这是一个免费、开源、高性能的分布式内存对象缓存系统。Memcached 是一种内存键值存储,可以存储来自数据库或 API 调用的数据集。

与 Redis 类似,Memcached 在加快网站速度方面也有很大帮助。它将数据(字符串或对象)存储在内存中。这样,我们就可以减少与外部资源(如数据库或 API)的通信。

我们假设服务器上安装了 Memcached。此外,还假定已安装 PHP 7 的 PHP 扩展。

现在,让我们用 PHP 来玩一下 Memcachd。看一下下面的代码:

//Instantiate Memcached Object
$memCached = new Memcached();

//Add server
$memCached->addServer('127.0.0.1', 11211);

//Lets get some data
$data = $memCached->get('packt_title');

//Check if data is available
if($data)
{
    echo $data;
}
else
{
    /*No data is found. Fetch your data from any where and add to
    memcached */
    $memCached->set('packt_title', 'Packt Publishing');
}

前面的代码是使用 Memcached 的一个非常简单的示例。每行代码都有注释,不言自明。实例化 Memcached 对象后,我们必须添加一个 Memcached 服务器。默认情况下,Memcached 服务器运行在 localhost IP(即 127.0.0.1)和 11211 端口上。之后,我们使用密钥检查一些数据,如果数据可用,我们就可以对其进行处理(在本例中,我们将其显示出来。可以返回数据,也可以进行任何需要的处理)。如果数据不可用,我们可以直接添加。请注意,数据可以来自远程服务器 API 或数据库。

我们刚刚介绍了 Memcached 以及它如何帮助我们存储数据和提高性能。本书不可能进行全面的讨论。关于 Memcached 的一本好书是 Packt Publishing 出版的《Getting Started with Memcached》。

总结

在本章中,我们介绍了 MySQL 和 Percona 服务器。此外,我们还详细讨论了查询缓存和其他有关性能的 MySQL 配置选项。我们提到了不同的存储引擎,如 MyISAM、InnoDB 和 Percona XtraDB。我们还在三个节点上配置了 Percona XtraDB 集群。我们讨论了不同的监控工具,如 PhpMyAdmin 监控工具、MySQL 工作台性能监控和 Percona 工具包。我们还讨论了用于 PHP 和 MySQL 的 Redis 和 Memcached 缓存。

在下一章中,我们将讨论基准测试和不同的工具。我们将使用 XDebug、Apache JMeter、ApacheBench 和 Siege 对不同的开源系统(如 WordPress、Magento、Drupal 和不同版本的 PHP)进行基准测试,并将它们的性能与 PHP 7 进行比较。