Home  >  Article  >  Backend Development  >  How to operate cache memcache in php

How to operate cache memcache in php

巴扎黑
巴扎黑Original
2017-08-05 13:46:101152browse

前言

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(&#39;key1&#39;, &#39;This is first value&#39;, 0, 60); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val ."<br>"; 
 //替换数据 
 $mem->replace(&#39;key1&#39;, &#39;This is replace value&#39;, 0, 60); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val . "<br>"; 
 //保存数组 
 $arr = array(&#39;aaa&#39;, &#39;bbb&#39;, &#39;ccc&#39;, &#39;ddd&#39;); 
 $mem->set(&#39;key2&#39;, $arr, 0, 60); 
 $val2 = $mem->get(&#39;key2&#39;); 
 echo "Get key2 value: "; 
 print_r($val2); 
 echo "<br>"; 
 
 //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,先序列化,再发生. 
 //$arr1=serialize($arr); 
 $arr2=json_encode($arr1); 
 print_r($arr2); 
 
 //删除数据 
 $mem->delete(&#39;key1&#39;); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val . "<br>"; 
 //清除所有数据 
 $mem->flush(); 
 $val2 = $mem->get(&#39;key2&#39;); 
 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); 
 
?>

总结

The above is the detailed content of How to operate cache memcache in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn