利用php操作memcache缓存的基础方法示例


Posted in PHP onAugust 02, 2017

前言

最近在工作中又遇到了memcache,大家应该都有所了解,memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中,本文将给大家详细介绍关于php操作memcache缓存的基础方法,话不多说,来一起看看详细的介绍吧。

1、代码使用

<?php 
 
 //连接 
 $mem = new Memcache; 
 $mem->connect("127.0.0.1", 11211) or die ("Could not connect"); 
 //显示版本 
 $version = $mem->getVersion(); 
 echo "Memcached Server version: ".$version."<br>"; 
 //保存数据 
 $mem->set('key1', 'This is first value', 0, 60); 
 $val = $mem->get('key1'); 
 echo "Get key1 value: " . $val ."<br>"; 
 //替换数据 
 $mem->replace('key1', 'This is replace value', 0, 60); 
 $val = $mem->get('key1'); 
 echo "Get key1 value: " . $val . "<br>"; 
 //保存数组 
 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); 
 $mem->set('key2', $arr, 0, 60); 
 $val2 = $mem->get('key2'); 
 echo "Get key2 value: "; 
 print_r($val2); 
 echo "<br>"; 
 
 //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,先序列化,再发生. 
 //$arr1=serialize($arr); 
 $arr2=json_encode($arr1); 
 print_r($arr2); 
 
 //删除数据 
 $mem->delete('key1'); 
 $val = $mem->get('key1'); 
 echo "Get key1 value: " . $val . "<br>"; 
 //清除所有数据 
 $mem->flush(); 
 $val2 = $mem->get('key2'); 
 echo "Get key2 value: "; 
 print_r($val2); 
 echo "<br>"; 
 //关闭连接 
 $mem->close(); 
 
?>

2、函数库详解:

  • Memcache::add - 添加一个值,如果已经存在,则返回false
  • Memcache::addServer - 添加一个可供使用的服务器地址
  • Memcache::close - 关闭一个Memcache对象
  • Memcache::connect - 创建一个Memcache对象
  • memcache_debug - 控制调试功能! [4 F8 C2 e, X
  • Memcache::decrement - 对保存的某个key中的值进行减法操作
  • Memcache::delete - 删除一个key值
  • Memcache::flush - 清除所有缓存的数据
  • Memcache::get - 获取一个key值
  • Memcache::getExtendedStats - 获取进程池中所有进程的运行系统统计
  • Memcache::getServerStatus - 获取运行服务器的参数
  • Memcache::getStats - 返回服务器的一些运行统计信息
  • Memcache::getVersion - 返回运行的Memcache的版本信息
  • Memcache::increment - 对保存的某个key中的值进行加法操作
  • Memcache::pconnect - 创建一个Memcache的持久连接对象
  • Memcache::replace -对一个已有的key进行覆写操作
  • Memcache::set - 添加一个值,如果已经存在,则覆写
  • Memcache::setCompressThreshold - 对大于某一大小的数据进行压缩
  • Memcache::setServerParams - 在运行时修改服务器的参数

3、分布式使用:

Memcache函数库是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的内存数据的临时存放区域,在分布式的时候作用体现的非常明显

<?php 
 
 //1.实例化一个Memcache对象 
 $mem=new Memcache(); 
 
 //2. 连接到指定的memcache中 
 // $mem->connect("127.0.0.1",11211); 
 
 //如果我们网站,需要多个memached缓存系统,如下使用分布式 
 $mem->addServer("192.168.1.100",11211); 
 $mem->addServer("192.168.1.200",11211); 
 $mem->addServer("192.168.1.222",11211); 
 
 //创建多个memcache服务使用addServer 会根据负载均衡算法,自动放入每个服务器 
 $mem->add("name","zs",0,100); 
 
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php备份数据库类分享
Apr 14 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
php连接mysql数据库
Mar 21 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
Aug 02 #PHP
YII框架中使用memcache的方法详解
Aug 02 #PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
Aug 02 #PHP
php7安装mongoDB扩展的方法分析
Aug 02 #PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 #PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 #PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 #PHP
You might like
PHP中构造函数和析构函数解析
2014/10/10 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
Vue学习之组件用法实例详解
2020/01/06 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
浅谈Python中的私有变量
2018/02/28 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
Python any()函数的使用方法
2019/10/28 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
曼城官方网上商店:Manchester City
2019/09/10 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
综合测评自我鉴定
2013/10/08 职场文书
检察官就职演讲稿
2014/01/13 职场文书
《分一分》教学反思
2014/04/13 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
python实现层次聚类的方法
2021/11/01 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers