利用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 相关文章推荐
在IIS上安装PHP4.0正式版
Oct 09 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
thinkPHP实现的联动菜单功能详解
May 05 PHP
laravel 解决强制跳转 https的问题
Oct 22 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php慢查询日志和错误日志使用详解
Feb 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个人网站架设连环讲(三)
2006/10/09 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python中下标和切片的使用方法解析
2019/08/27 Python
python中如何写类
2020/06/29 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
公司道歉信范文
2014/01/09 职场文书
《学会待客》教学反思
2014/02/22 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
我的收音机情缘
2022/04/05 无线电
Django中celery的使用项目实例
2022/07/07 Python