我们知道 Memcache 有个 pconnect() 方法可以实现长连接,其实 Memcached 也可以实现持久化连接。

使用 PHP 扩展 Memcached 的长连接模式

Memcached 的扩展模块提供的构造函数提供一个参数 persistent_id 可选项,手册中这样介绍:

默认情况下,Memcached实例在请求结束后会被销毁。但可以在创建时通过persistent_id为每个实例指定唯一的ID, 在请求间共享实例。所有通过相同的persistent_id值创建的实例共享同一个连接。

这个参数的含义就是说如果传递了一个id给到构造方法,那么就会建立长连接:

$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() 方法是否已经添加了服务器端,如果没有添加再在进行添加服务器端的操作:

$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 目录下即可。

©我爱水煮鱼,本站推荐使用的主机:

本站长期承接 WordPress 优化和建站业务,请联系微信:「chenduopapa」。

php怎么连接memcached,如何使用 PHP 扩展 Memcached 的长连接模式相关推荐

  1. android socket 长连接_TCP/IP,http,socket,长连接,短连接

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家 下一篇:这200G的Java实战资料是我师傅当年教 ...

  2. websocket 获取连接id_Swoole学习笔记七:搭建WebSocket长连接 之 使用 USER_ID 作为身份凭证...

    Swoole学习笔记七:搭建WebSocket长连接 之 使用 USER_ID 作为身份凭证 2年前 阅读 3678 评论 0 喜欢 0 ### 0.前言 前面基本的WebSocket操作,我们基本都 ...

  3. java连接access_关于k8s下使用Ingress保持长连接的异常情况排查

    写在前面的话 应某位友人需求,帮整理下工作中的发生的一些值得记录的文章.于是在友人描述后,为其整理为了文章,供大家一起参考探讨. 问题描述 在我们中应用有一个使用到`Http Long Poll`的场 ...

  4. 微信是与服务器长连接,java与微信小程序实现websocket长连接.pdf

    java与与微微信信小小程程序序实实现现websocket长长连连接接 本文实例为大家分享了j ava与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容 下 背背景景:: 需要在 ...

  5. 【SSH】SSH自动断开连接的原因和解决办法|SSH保持长连接方法

    目录 原因 解决方法 即看即用 方法1:手工修改 方法2:shell命令行修改 详细说明 REMOTE HOST IDENTIFICATION HAS CHANGED问题解决 原因 用putty/Se ...

  6. php ini 长连接秒数,php使用webSocket实现Echarts长连接自动刷新的解决方案(2):后端服务端代码返回json数据...

    $address = "127.0.0.1"; $port = 9090; //调试的时候,可以多换端口来测试程序! set_time_limit(0); $sock = sock ...

  7. php-fpm mysql 长连接_分析:PHP长连接的硬伤

    上篇博文<PHP的CURL报错的排查记录:短连接的成本真的很高啊>,我提到PHP长连接有个硬伤,那么硬伤到底在哪里呢? 我们写一个简易的memcache客户端来分析下这个问题,数据库等扩展 ...

  8. 移动互联网长连接方案实例

    1.笔者本人现在在一家创业公司担当整个平台架构的角色,而这家公司是做一移动互联网相关的一些应用产品,由其现在正在和中国最大的互联网公司之一进行合作,负责该互联网公司的手机终端的长连接推送服务,所以有一 ...

  9. HTTP长连接短连接

    一.什么是长连接 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包.不四次握手),等待 ...

最新文章

  1. eclipse从svn检出项目
  2. 中国团队狂揽5项大奖!北航团队获2021 ACM MultiMedia唯一最佳论文奖
  3. win10怎么设置开机启动项目_苹果mac开机启动项怎么设置
  4. 架设国外服务器怎么维护,关于架设海外服务器这些事情你了解吗
  5. MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
  6. ***帮兄设计实战分析
  7. How to log time in Linux? (C Programming)
  8. 说说基于网络的五种IO模型
  9. 0 uC/OS 系统精讲索引
  10. Java的String类是上帝的对象吗?
  11. 导入项目报错报错Error:java: Cannot run program “D:/jdk/jdk1.7.0_67/bin/java“
  12. 测试人必会:Python带你上手WebSocket
  13. python 弹出窗口闪烁_游戏窗口闪烁
  14. Bailian2682 循环移动【模除】
  15. html图片怎么弄透明背景,如何使用CSS实现背景图像透明
  16. 【Auto.JS】Autojs官方提取文档使用说明函数 (1)
  17. 数据仓库和数据挖掘基础知识点
  18. 如何卸载--奇安信安全终端管理系统
  19. Excel 如何排序与多关键字排序
  20. 昂瑞威 HS6621 低功耗蓝牙芯片烧录调试

热门文章

  1. oracle11g imp性能,怎么最快地把本机的oracle11g数据导入xe
  2. bind()和connect()函数:绑定套接字并建立连接
  3. java在src创建entity文件_java自动生成entity文件
  4. js实现kmp算法_「leetcode」459.重复的子字符串:KMP算法还能干这个!
  5. python只能使用内置数据库_隐藏彩蛋:你知道python有一个内置的数据库吗?
  6. 再获IDC认可 第四范式持续扩大中国机器学习平台市场领先优势
  7. linux系统编程之使用C++(1)-打开关闭文件
  8. rust-let 不可变绑定与可变绑定(4)
  9. 【学术相关】高校教师提前离职需支付“天价违约金”,坑!
  10. 【NLP】NER数据标注中的标签一致性验证