利用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函数解决SQL injection
Oct 09 PHP
PHP初学入门
Nov 19 PHP
PHP面向对象的使用教程 简单数据库连接
Nov 25 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
php魔术变量用法实例详解
Nov 13 PHP
php中socket通信机制实例详解
Jan 03 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
PHP获取HTTP body内容的方法
Dec 31 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计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
Javascript 面向对象特性
2009/12/28 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
python操作sqlite的CRUD实例分析
2015/05/08 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
房屋改造计划书
2014/01/10 职场文书
个人评价范文分享
2014/01/11 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
参加招聘会后的感想
2015/08/10 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server