利用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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
php adodb连接不同数据库
Mar 19 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
非常实用的PHP常用函数汇总
Dec 17 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
PHP new static 和 new self详解
Feb 19 PHP
PHP网站自动化配置的实现方法(必看)
May 27 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
vuex 的简单使用
2018/03/22 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
Django实现发送邮件功能
2019/07/18 Python
Django中的静态文件管理过程解析
2019/08/01 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
应届生会计电算化求职信
2013/10/03 职场文书
工作人员思想汇报
2014/01/09 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
茶花女读书笔记
2015/06/29 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript