如何使用 PHP 扩展 Memcached 的长连接模式
2023-06-13 09:18:33 时间
我们知道 Memcache 有个 pconnect() 方法可以实现长连接,其实 Memcached 也可以实现持久化连接。
使用 PHP 扩展 Memcached 的长连接模式
Memcached 的扩展模块提供的构造函数提供一个参数 persistent_id
可选项,手册中这样介绍:
默认情况下,Memcached实例在请求结束后会被销毁。但可以在创建时通过persistent_id为每个实例指定唯一的ID, 在请求间共享实例。所有通过相同的persistent_id值创建的实例共享同一个连接。
这个参数的含义就是说如果传递了一个id给到构造方法,那么就会建立长连接:
<?php
$mc = new Memcached('mc');
$mc->addServers(array(
array('mc1.example.com',11211),
array('mc2.example.com',11211),
));
?>
PHP 扩展 Memcached 长连接模式的最佳实践
但需要注意的是当第一次通过建立起 Memcahced 长连接后,切记不要再重复添加 Memcached 的服务端,不然页面没刷新一次就会添加一次,该 persistent_id 下的 Memcached 服务器端就会越来越多,这样就会导致 PHP 的进程异常,与 Memcached 的通信越来越慢。所以使用 PHP Memcached 的长连接模式最佳实践是使用 getServerList() 方法是否已经添加了服务器端,如果没有添加再在进行添加服务器端的操作:
<?php
$mc = new Memcached('mc');
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
if (!count($mc->getServerList())) {
$mc->addServers(array(
array('mc1.example.com',11211),
array('mc2.example.com',11211),
));
}
?>
WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic之后,将 wpjam-basic/template/
目录下的 object-cache.php
文件复制到 wp-content
目录下即可。
相关文章
- PhpStorm 2022 for Mac(PHP集成开发软件)中文版v2022.2.3
- PHP服务器在Linux上的应用(php服务器linux)
- PHP编程实现MySQL数据库连接(通过php连接mysql)
- 数据库解决PHP无法连接MySQL数据库的问题.(php无法连接mysql)
- 远程探索——PHP与MySQL的结合(php远程连接mysql)
- PHP连接MySQL的快速操作指南(php连接mysql步骤)
- PHP如何使用Redis连接: 代码实例(php连接redis代码)
- PHP 操作 Redis:实现强大的数据存储 (php操作redis)
- 搭建 PHP 环境,在 Linux 系统里更轻松!(php环境linux)
- Redis实现长连接:PHP开发入门(redis长连接php)
- 内 php 耗时查看Oracle中PHP耗时的小时分解(oracle查询小时)
- 「Linux下的PHP开发」(linux开发php)
- PHP检测MySQL性能的方法(php检测mysql)
- 轻松设置PHP连接MySQL数据库(php设置连接mysql)
- 数据库解决PHP连接远程MySQL数据库的问题(php连接远程mysql)
- 构建LAMP环境 以增加PHP的MSSQL扩展(增加php扩展mssql)
- 如何在Linux上重新安装PHP(linux重新安装php)
- PHP与MSSQL的快速无缝连接配置指南(php链接mssql配置)
- 使用PHP连接远程MSSQL服务器(php连接远程mssql)
- PHP连接MSSQL数据库:探索新的接口(php连接mssql接口)
- 使用PHP实现远程连接MSSQL数据库(php远程连接mssql)
- PHP连接MSSQL服务器:一篇实战指南(php 用mssql连接)
- PHP实现连接MS SQL数据库的实战指南(php 打开mssql)
- PHP如何连接MS SQL服务器(php怎么连接mssql)
- 使用PHP连接MSSQL数据库运行管道!(php mssql 管道)
- PHP与MySQL实现无缝连接(php mysql 连接)
- 用PHP进行MySQL功能测试(php 测试mysql)
- 解析在PHP中使用mysqli扩展库对mysql的操作
- Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
- Linux下手动编译安装PHP扩展的例子分享