iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP作为memcached客户端的具体实现方法是什么
  • 655
分享到

PHP作为memcached客户端的具体实现方法是什么

2023-06-17 19:06:20 655人浏览 独家记忆
摘要

PHP作为memcached客户端的具体实现方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们通过以前文章的介绍可以知道memcached 的具体工作原理。那么,今天

PHP作为memcached客户端的具体实现方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

我们通过以前文章的介绍可以知道memcached 的具体工作原理。那么,今天我们将会为大家演示如何实现php作为memcached客户端的实现方法。希望能够帮助学员们更加牢固的掌握对memcached的了解。

有两种方法可以使 PHP 作为 memcached 客户端,调用 memcached 的服务进行对象存取操作。

<?php // 包含 memcached 类文件  require_once('memcached-client.php');  // 选项设置  $options = array(      'servers' => array('192.168.1.1:11211′), //memcached 服务的地址、端口,可用多个数组元素表示多个 memcached 服务      'debug' => true, //是否打开 debug      'compress_threshold' => 10240, //超过多少字节的数据时进行压缩      'persistant' => false //是否使用持久连接      );  // 创建 memcached 对象实例  $mc = new memcached($options);  // 设置此脚本使用的***标识符  $key = 'mykey';  // 往 memcached 中写入对象  $mc->add($key, 'some random strings');  $val = $mc->get($key);  echo "n".str_pad('$mc->add() ', 60, '_')."n";  var_dump($val);  // 替换已写入的对象数据值  $mc->replace($key, array('some'=>'haha', 'array'=>'xxx'));  $val = $mc->get($key);  echo "n".str_pad('$mc->replace() ', 60, '_')."n";  var_dump($val);  // 删除 memcached 中的对象  $mc->delete($key);  $val = $mc->get($key);  echo "n".str_pad('$mc->delete() ', 60, '_')."n";  var_dump($val);  ?>

***种PHP作为memcached客户端的方法,PHP 有一个叫做 memcache 的扩展,linux 下编译时需要带上 –enable-memcache[=DIR] 选项,Window 下则在 php.ini 中去掉 php_memcache.dll 前边的注释符,使其可用。

除此之外,还有一种方法,可以避开扩展、重新编译所带来的麻烦,那就是直接使用 php-memcached-client。

本文选用第二种方式,虽然效率会比扩展库稍差一些,但问题不大。

首先 下载 memcached-client.php,在下载了 memcached-client.php 之后,就可以通过这个文件中的类“memcached”对 memcached 服务进行操作了。其实代码调用非常简单,主要会用到的方法有 add()、get()、replace() 和 delete(),方法说明如下:

add ($key, $val, $exp = 0)

往 memcached 中写入对象,$key 是对象的***标识符,$val 是写入的对象数据,$exp 为过期时间,单位为秒,默认为不限时间;

get ($key)

从 memcached 中获取对象数据,通过对象的***标识符 $key 获取;

replace ($key, $value, $exp=0)

使用 $value 替换 memcached 中标识符为 $key 的对象内容,参数与 add() 方法一样,只有 $key 对象存在的情况下才会起作用;

delete ($key, $time = 0)

删除 memcached 中标识符为 $key 的对象,$time 为可选参数,表示删除之前需要等待多长时间。

下面是一段简单的测试代码,代码中对标识符为 ‘mykey’ 的对象数据进行存取操作:

是不是PHP作为memcached客户端实现起来很简单,在实际应用中,通常会把数据库查询的结果集保存到 memcached 中,下次访问时直接从 memcached 中获取,而不再做数据库查询操作,这样可以在很大程度上减轻数据库的负担。通常会将 sql 语句 md5() 之后的值作为***标识符 key。下边是一个利用 memcached 来缓存数据库查询结果集的示例(此代码片段紧接上边的示例代码):

<?php $sql = 'SELECT * FROM users';  $key = md5($sql);   //memcached 对象标识符  if ( !($datas = $mc->get($key)) ) {      // 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。      echo "n".str_pad('Read datas from MySQL.', 60, '_')."n";      $conn = Mysql_connect('localhost', 'test', 'test');      mysql_select_db('test');      $result = mysql_query($sql);      while ($row = mysql_fetch_object($result))          $datas[] = $row;      // 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。      $mc->add($key, $datas);  } else {      echo "n".str_pad('Read datas from memcached.', 60, '_')."n";  }  var_dump($datas);  ?>

可以看出,使PHP作为memcached客户端之后,可以减少数据库连接、查询操作,数据库负载下来了,脚本的运行速度也提高了。

看完上述内容,你们掌握PHP作为memcached客户端的具体实现方法是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网PHP编程频道,感谢各位的阅读!

--结束END--

本文标题: PHP作为memcached客户端的具体实现方法是什么

本文链接: https://www.lsjlt.com/news/292378.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP作为memcached客户端的具体实现方法是什么
    PHP作为memcached客户端的具体实现方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们通过以前文章的介绍可以知道memcached 的具体工作原理。那么,今天...
    99+
    2023-06-17
  • redis集群客户端java实现的方法是什么
    在Java中实现Redis集群客户端,可以使用Jedis Cluster库。Jedis Cluster是Jedis库的扩展,专门用于...
    99+
    2023-09-16
    redis java
  • Java客户端开发的方法是什么
    这篇文章主要讲解了“Java客户端开发的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java客户端开发的方法是什么”吧!这一步是对之前进行较大的改动。增加的类也比较多。包结构如下...
    99+
    2023-06-17
  • c#客户端搭建的方法是什么
    本篇内容介绍了“c#客户端搭建的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   c#客户端这个搭建起来的,...
    99+
    2023-06-19
  • redis客户端连接的方法是什么
    Redis客户端连接方式有多种,常见的方式包括使用Redis官方提供的客户端库、使用第三方客户端库或者直接使用命令行工具连接。以下是...
    99+
    2024-05-06
    redis
  • android ssh客户端安装的方法是什么
    在Android设备上安装SSH客户端的方法如下: 打开Google Play商店。在搜索框中输入“SSH客户端”或者“SSH”,...
    99+
    2024-04-02
  • Oracle客户端生成AWR方法是什么
    这篇文章主要介绍“Oracle客户端生成AWR方法是什么”,在日常操作中,相信很多人在Oracle客户端生成AWR方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Or...
    99+
    2024-04-02
  • ssl客户端证书生成的方法是什么
    1、生成私钥使用openssl命令生成一个私钥文件,命令如下:openssl genrsa -out client.key 2048...
    99+
    2023-05-13
    ssl客户端证书 ssl证书
  • Linux查看用户组的具体方法是什么
    本篇文章为大家展示了Linux查看用户组的具体方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 Linux 系统中用户组起着重要作用。用户组提供了一种简单方法供一组用户互相共享文件。用户组...
    99+
    2023-06-28
  • python socket客户端接收数据的方法是什么
    Python Socket客户端接收数据的方法有两种:1. 使用recv()方法:可以使用Socket对象的recv()方法来接收数...
    99+
    2023-09-08
    python
  • S7-200SMART 实现MODBUS TCP通信的具体方法示例(客户端读写+服务器响应)
    S7-200SMART 实现MODBUS TCP通信的具体方法示例(客户端读写+服务器响应) 前面和大家介绍了MODBUS TCP的基本使用方法,具体可参考以下链接中的内容: S7-200SMART...
    99+
    2023-09-11
    S7-200SMART MODBUS TCP通信 具体方法 客户端读写 服务器响应
  • MySQL client客户端的连接方式是什么
    这篇文章主要介绍“MySQL client客户端的连接方式是什么”,在日常操作中,相信很多人在MySQL client客户端的连接方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • MySQL客户端与中间件设计方法是什么
    本篇内容主要讲解“MySQL客户端与中间件设计方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL客户端与中间件设计方法是什么”吧!MySQL通信...
    99+
    2024-04-02
  • web前端字体特效的实现方法是什么
    本篇内容主要讲解“web前端字体特效的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前端字体特效的实现方法是什么”吧!特效一览划线动态:背景...
    99+
    2024-04-02
  • SpringCloud 客户端Ribbon负载均衡的实现方法
    目录Ribbon 介绍开启客户端负载均衡,简化 RestTemplate 调用负载均衡策略饥饿加载Ribbon 介绍 Ribbon 是 Netflix 提供的一个基于 Http 和 ...
    99+
    2024-04-02
  • java WebSocket客户端断线重连的实现方法
    目录前言Maven依赖代码前言 在工作中是否会遇到实用websocket客户端连接服务端的时候,网络波动,服务端断连的情况。会导致客户端被动断开连接。为了解决这个问题,需要对被动断...
    99+
    2024-04-02
  • Linux开放指定端口具体方法是什么
    这篇文章主要为大家分析了Linux开放指定端口具体方法是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux开放指定端口具体方法是什么”的知识吧。L...
    99+
    2023-06-28
  • PHP实现工作流的方法是什么
    PHP实现工作流的方法有多种,以下是其中的一些常见方法: 使用现有的工作流引擎库:PHP有一些成熟的工作流引擎库,如Activi...
    99+
    2023-10-26
    PHP
  • 电脑截图具体操作方法是什么
    今天小编给大家分享一下电脑截图具体操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。电脑截图具体操作方法:方法一:...
    99+
    2023-07-01
  • Linux系统挂载U盘的具体实现方法是什么
    小编今天带大家了解Linux系统挂载U盘的具体实现方法是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统挂载U盘的具...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作