能共存,因memcached默认监听11211端口、redis监听6379端口,端口不冲突;二者定位不同,可按需分别用于简单缓存与复杂数据结构场景。

Memcached 和 Redis 能否共存?端口冲突是唯一障碍
能,而且非常常见。宝塔面板默认安装 Memcached 时监听 127.0.0.1:11211,Redis 默认监听 127.0.0.1:6379,二者端口天然不重叠,无需手动改端口就能并存。但很多人误以为“装了 Redis 就得关 Memcached”,其实它们定位不同:Memcached 更适合简单键值缓存(如页面片段),Redis 支持数据结构、持久化和发布订阅,适合会话、队列等场景。
真正要确认的只有一件事:两个服务是否都已启动且监听在本地回环地址(127.0.0.1),避免绑定到 0.0.0.0 引发安全风险或端口被意外占用。
在宝塔中检查并确保两个服务独立运行
进入宝塔「软件商店」→ 分别搜索并安装「Memcached」和「Redis」(注意选对应 PHP 版本兼容的版本)。安装完成后:
- 点开「Memcached」管理页,确认状态为「正在运行」,「配置文件」里
OPTIONS="-l 127.0.0.1 -p 11211"没被改成0.0.0.0 - 点开「Redis」管理页,确认状态为「正在运行」,「配置文件」中
bind 127.0.0.1存在且未被注释,port 6379未被修改 - 终端执行
ss -tlnp | grep -E ':(11211|6379)',应看到两行输出,分别含memcached和redis-server
如果某一个端口显示被占用,用 lsof -i :11211 或 lsof -i :6379 查进程,再 kill 或调整配置。
PHP 中如何同时启用 memcached.so 和 redis.so 扩展
宝塔默认不会自动给所有 PHP 版本同时开启这两个扩展。必须逐个版本操作:
- 进「软件商店」→ 找到目标 PHP 版本(如 PHP 8.1)→ 点「设置」→ 「安装扩展」→ 勾选
memcached和redis→ 提交 - 安装完成后,检查
/www/server/php/81/etc/php.ini是否包含两行:extension=memcached.so和extension=redis.so - 重启对应 PHP 服务(不是 Nginx/Apache):在 PHP 设置页点「重载配置」,或执行
service php-fpm-81 reload - 写个
phpinfo.php页面访问验证:搜索页面中是否同时出现memcached和redis模块信息
注意:memcached 扩展依赖 libmemcached 库,若安装失败报错 configure: error: no, sasl.h is not available,需先在终端运行 yum install cyrus-sasl-devel -y(CentOS)或 apt install libsasl2-dev -y(Ubuntu),再重试安装扩展。
PHP 代码里区分使用:连接参数决定走哪个服务
扩展加载成功后,具体用哪个缓存,完全由你实例化时的连接方式决定,跟端口无关(只要服务在跑):
// Memcached 实例(默认连 127.0.0.1:11211)
$mc = new Memcached();
$mc->addServer('127.0.0.1', 11211);
// Redis 实例(默认连 127.0.0.1:6379)
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
常见误区:
- 以为要改 PHP 扩展配置才能指定端口——不用,
addServer()和connect()的参数就是干这个的 - 在 Laravel 或 ThinkPHP 中混用驱动名(如
cache.driver=redis时还试图调Memcached::get())——框架只会用它配置的那个驱动,多缓存需自己封装客户端 - 把两个服务都绑到
0.0.0.0还暴露到公网——极危险,尤其 Redis 默认无密码,务必保持bind 127.0.0.1和protected-mode yes
端口本身不是重点,关键在于服务是否活、扩展是否启、连接是否准。一旦连错地址或端口,Memcached::get() 会静默失败或抛 Warning,Redis::connect() 则直接 throw Exception,调试时优先看错误日志里是 Connection refused 还是 Class not found。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











