调整优化您的LAMP应用程序的5种简单方法(4)


清单 3. 使用 APC 缓存数据库结果的示例

<?php function getListOfUsers() { $list = apc_fetch('getListOfUsers'); if ( empty($list) ) { $conn = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'dbuser', 'dbpass'); $sql = 'SELECT id, name FROM users ORDER BY name'; foreach ($conn->query($sql) as $row) { $list[] = $row; } apc_store('getListOfUsers',$list); } return $list; }  

我们仅需一次执行查询。之后,我们将结果推送到 getListOfUsers 键下的 APC 缓存中。从这里开始,直到缓存到期,您就能够直接从缓存中获取结果数组,跳过 SQL 查询。

APC 和 Wincache 并非一个用户缓存的惟一选择;memcache 和 Redis 是不需要您在与 Web 服务器相同的服务器上运行用户缓存的其他流行选择。这就提高了性能和灵活性,特别是当您的 web 应用程序跨多个 Web 服务器向外扩展时。

在本文中,我们探究了调优您的 LAMP 性能的 5 种简单方法。我们不仅通过利用一个操作码缓存和优化 PHP 配置探究了 PHP 级别的技术,而且探究了如何优化您的数据库设计来实现合理的索引编制。我们还探讨了如何利用一个用户缓存(以 APC 为例)来展示如何在数据不经常改变时避免重复的数据库调用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d200960a61336a4c7662a3b8342fe804.html