返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/292378.html(转载时请注明来源链接)

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

猜你喜欢
  • 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证书
  • Android编程实现TCP客户端的方法
    本文实例讲述了Android编程实现TCP客户端的方法。分享给大家供大家参考,具体如下: 因为项目上需要实现一个TCP Client 端;在网上找好多例子基本上都是阻塞方式完成...
    99+
    2022-06-06
    方法 Android
  • 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
  • web前端字体特效的实现方法是什么
    本篇内容主要讲解“web前端字体特效的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前端字体特效的实现方法是什么”吧!特效一览划线动态:背景...
    99+
    2024-04-02
  • MySQL客户端与中间件设计方法是什么
    本篇内容主要讲解“MySQL客户端与中间件设计方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL客户端与中间件设计方法是什么”吧!MySQL通信...
    99+
    2024-04-02
  • Android实现TCP客户端接收数据的方法
    本文实例讲述了Android实现TCP客户端接收数据的方法。分享给大家供大家参考,具体如下: 配合log4net使用,用来接收调试信息。因此,此客户端只管通过TCP接收字符串数...
    99+
    2022-06-06
    方法 数据 Android
  • 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
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作