利用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 相关文章推荐
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 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 strtr() 函数使用说明
2008/11/21 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php内嵌函数用法实例
2015/03/20 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
javascript数组去掉重复
2011/05/12 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
用Python抢过年的火车票附源码
2015/12/07 Python
python黑魔法之编码转换
2016/01/25 Python
理解Python垃圾回收机制
2016/02/12 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python3远程监控程序的实现方法
2019/07/15 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
python实现简单猜单词游戏
2020/12/24 Python
《生命 生命》教学反思
2014/04/19 职场文书
旅游文化节策划方案
2014/06/06 职场文书
大专学生求职自荐信
2014/07/06 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
公司介绍信范文
2015/01/31 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python