Memcache、Memcached简明介绍
很多人刚接触 PHP 缓存时,会被这些名字搞晕:Memcache、Memcached、APCu、Redis……
其实,它们都是为了加速网站、减少数据库或文件读取次数的工具,只是实现方式和适用场景不同。
一、Memcache 和 Memcached 是什么?
Memcache 和 Memcached 名字很像,功能也差不多。
它们都属于 “内存缓存系统”,可以把常用数据放到内存中,避免每次都去查数据库或读文件,从而显著提升网站访问速度。
比如:
网站每次运行时,都要读取 config.php 配置文件,或者从数据库中读取站点设置。
这些信息几乎不会频繁变化,非常适合放入缓存中。
这样不仅能减少 I/O 开销,还能让 PHP 响应更快。
二、两者的区别
特性 Memcache Memcached
年代 较早期版本 新版、功能更完善
PHP扩展名 memcache memcached
协议 文本协议 二进制协议
支持语言 主要PHP 多语言支持(PHP、Java、Python等)
性能 稳定但老旧 更快、更高效,支持压缩、长连接等
一般现在推荐使用 Memcached 扩展,因为性能更好、维护更活跃。
三、请求方式简述
Memcached 是一个独立运行的缓存服务器。
PHP 程序通过网络请求(TCP/IP)与它通信:
PHP请求 → Memcached服务 → 返回缓存结果
好处是:
多台网站服务器可以共用一个 Memcached;
数据集中缓存,方便统一管理。
缺点是:
需要独立安装服务;
请求走网络,速度比本地内存稍慢一点。
四、APCu 简介(轻量单机版)
如果你的网站是单台服务器,不需要跨机器共享缓存,
APCu 会是更轻更快的选择。它是 PHP 的一个内存缓存扩展,
直接运行在 PHP-FPM 进程内部,不需要网络请求。
常见用途:
缓存网站配置文件内容,比如图片域名、模板路径、接口地址等。
减少文件 I/O 次数,提升性能。
如果配置是 .php 文件形式,还可以配合 opcache 一起用,效果更好。
五、简单代码示例
APCu 示例(单机缓存)
// 设置缓存
apcu_store('site_config', ['cdn' => 'https://img.example.com']);
// 读取缓存
$config = apcu_fetch('site_config');
echo $config['cdn'];
Memcached 示例(跨服务器缓存)
$mem = new Memcached();
$mem->addServer('127.0.0.1', 11211);
// 设置缓存(10分钟过期)
$mem->set('site_config', ['cdn' => 'https://img.example.com'], 600);
// 读取缓存
$config = $mem->get('site_config');
echo $config['cdn'];
六、总结推荐
场景 推荐方案
单机项目、简单缓存 APCu + Opcache
多台服务器共享缓存 Memcached 服务 + PHP Memcached 扩展
更复杂的缓存需求(带持久化、数据结构) Redis
一句话总结:
Memcache 和 Memcached 是老牌的内存缓存系统,APCu 是轻量单机缓存。
如果追求通用性和功能,现在更多人会直接选用 Redis。
编辑:千欧中软
阅读量:16
url链接:https://www.qozr.com/cms_memcache-memcached-jian-ming-jie-shao.html
上一篇: 在线颜色选择器 颜色格式转换器
下一篇: Redis相关记录
更多新闻
Copyright © 千欧中软 版权所有 www.qozr.com seo | 网站建设 [渝ICP备15005074号]
渝公网安备50011802011077 | sitemap