利用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实现读取和编写XML DOM代码
Apr 07 PHP
php 冒泡排序 交换排序法
May 10 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
php 团购折扣计算公式
Nov 24 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
php微信小程序解包过程实例详解
Mar 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
php实现分页显示
2015/11/03 PHP
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
jQuery实现日历效果
2020/09/11 jQuery
vue界面发送表情的实现代码
2020/09/11 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python构建XML树结构的方法示例
2017/06/30 Python
Python实现的计算器功能示例
2018/04/26 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
团组织关系介绍信
2014/01/12 职场文书
学生出入校管理制度
2014/01/16 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
庆元旦演讲稿
2014/09/15 职场文书
申报材料格式
2014/12/30 职场文书
导游词之上海豫园
2019/10/24 职场文书
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技