利用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 相关文章推荐
url decode problem 解决方法
Dec 26 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
33道php常见面试题及答案
Jul 06 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
php技巧小结【推荐】
Jan 19 PHP
利用php生成验证码
Feb 23 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 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中的日期处理方法集锦
2007/01/02 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php实现插入排序
2015/03/29 PHP
twig模板常用语句实例小结
2016/02/04 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
jquery 元素相对定位代码
2010/10/15 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
python if not in 多条件判断代码
2016/09/21 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
护理职业生涯规划书
2014/01/24 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
应届生自荐信范文
2014/02/21 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
一岗双责责任书
2014/04/15 职场文书
我的中国心演讲稿
2014/09/04 职场文书
丧事答谢词
2015/01/05 职场文书
佛光寺导游词
2015/02/10 职场文书
求职简历自我评价2015
2015/03/10 职场文书
财务部岗位职责范本
2015/04/14 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
Python基础之条件语句详解
2021/06/16 Python