前言
在开发高性能 Web 应用时,减少数据库的负载是一个重要的考虑因素。使用 Memcached 可以有效地将频繁访问的数据存储在内存中,从而显著提高应用的性能。本文将指导您如何在 Windows 7 系统上安装并配置 Memcached 与 PHP 5.4 结合使用。
一、Memcached 的安装
1. 准备工作
首先,需要下载适用于 Windows 的 Memcached 安装包。可以从以下链接下载:CSDN 下载 或者 脚本之家。下载完成后,将其解压到任意目录,例如 D:\webEve\memcached。
2. 安装服务
打开命令提示符(以管理员身份运行),进入解压目录,执行以下命令来安装 Memcached 服务:
cd D:\webEve\memcached
memcached.exe -d install
如果遇到错误信息“failed to install service or service already installed”,请确保以管理员身份运行命令提示符。
3. 启动服务
安装完成后,可以通过以下命令启动 Memcached 服务:
memcached.exe -d start
Memcached 将作为 Windows 服务在每次启动时自动运行。
二、PHP 扩展的安装与配置
1. 下载 PHP 扩展
根据您的 PHP 版本下载相应的 php_memcache.dll 文件。可以从 CSDN 资源 获取。
2. 配置 PHP
将下载的 php_memcache.dll 文件复制到 PHP 的 ext 目录中,并在 php.ini 文件中添加以下行以启用扩展:
extension=php_memcache.dll
保存 php.ini 文件后,重启 Apache 服务器,确保 Memcached 扩展已正确加载。可以通过运行 phpinfo() 函数检查是否已成功安装。
三、Memcached 的基本配置
Memcached 提供了多种命令行选项来配置其行为。常用选项包括:
- -p:监听的端口(默认 11211)
- -l:绑定的 IP 地址(默认为本地主机)
- -m:最大内存使用量(单位 MB,默认 64MB)
- -c:最大同时连接数(默认 1024)
- -d start:启动 Memcached 服务
- -d stop:停止 Memcached 服务
- -d restart:重启 Memcached 服务
- -d install:安装 Memcached 服务
- -d uninstall:卸载 Memcached 服务
四、示例代码
1. 基本示例
header("Content-type: text/html; charset=utf-8");
$host = '127.0.0.1';
$user = 'root';
$passwd = '';
$db = 'test';
$cOnn= mysql_connect($host, $user, $passwd);
mysql_select_db($db, $conn);
mysql_query("SET NAMES utf8", $conn);
$sql = 'SELECT * FROM syl_rollback ORDER BY id DESC';
$result = mysql_query($sql, $conn);
$test_key = [];
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$test_key[] = $row;
}
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);
$mem->set(md5($sql), $test_key, MEMCACHE_COMPRESSED, 600);
echo "";
print_r($mem->get(md5($sql)));
echo "
";
?>
2. 高级示例
header("Content-type: text/html; charset=utf-8");
$sql = 'SELECT * FROM syl_rollback ORDER BY id DESC';
$sql_md5 = md5($sql);
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);
// 尝试从缓存中获取数据
$cached_data = $mem->get($sql_md5);
if ($cached_data) {
echo "";
print_r($cached_data);
echo "
";
} else {
// 如果缓存中没有数据,则从数据库中获取
$cOnn= mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('test', $conn);
mysql_query("SET NAMES utf8", $conn);
$result = mysql_query($sql, $conn);
$data = [];
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
// 将数据存入缓存
$mem->set($sql_md5, $data, MEMCACHE_COMPRESSED, 600);
echo "";
print_r($data);
echo "
";
}
?>
五、总结
通过上述步骤,您可以在 Windows 7 环境中成功安装和配置 Memcached,并将其与 PHP 5.4 结合使用。在实际应用中,建议封装一个 Memcached 类,以便更方便地管理和操作缓存数据。这样可以显著提高应用的性能,减少数据库的负载。