memcache(使用php操作memcache)

1.概念

    memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中
2. 安装步骤

1、下载php_memcache.dll文件并把它放入到 php/ ext /目录

2、 打开php.ini文件 这里启用memcache.dll扩展 extension=php_memcache.dll

3. 代码使用

<?php

  //1.实例化一个Memcache对象

  $mem=new Memcache;

  //2. 连接到指定的memcache中

  $mem->connect("127.0.0.1",11211);

  //0表示不压缩数据,如果使用压缩MEMCACHE_COMPRESSED

  if(!$mem->add("name","test1",0,30)){

    echo "name 已经存在了";

  }else{

    echo "ok!";

  }

//可以放入数值

  if(!$mem->add("age",100,0,30)){

    echo "age 已经存在了";

  }else{

    echo "ok!";

  }

//可以放入boolean

  if(!$mem->set("ok",true,0,30)){

    echo "ok 保存成功";

  }else{

    echo "ok!";

  }

  //放入数组

  $arr1=array("aa"=>"北京","bb"=>"天津");

  //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,

  //先序列化,再发生.

  //$arr1=serialize($arr1);

  $arr2=json_encode($arr1);

  print_r($arr2);
  
  $mem->add("arr",$arr1,MEMCACHE_COMPRESSED,100);

  //对象

  require "Person.class.php";

  $person=new Person(10,"xiaoming");

  $mem->add("per1",$person,MEMCACHE_COMPRESSED,100);

  //取出

  $per2=$mem->get("per1");

  var_dump($per2);

  echo "对象名字=".$per2->name;

  //string, int,float, boolean  array object null resource 

  //不能把resource 类型放入到memcache

  $con=mysql_connect("localhost","root","root");
  
  echo "<br/>";

  var_dump($con);

  $mem->add("mylink",$con);

?>

关于如何使用多个memcached 缓存服务器.

<?php

  $mem=new Memcache();

  //如果我们网站,需要多个memached缓存系统.

  //$mem->connect("localhost",11211); (立即向localhost的11211端口发出连接)

  $mem->addServer("192.168.1.100",11211);//256 ->10m

  $mem->addServer("192.168.1.200",11211);

  $mem->addServer("192.168.1.222",11211);

  //创建多个memcache服务使用.

  //addServer 会根据负载均衡算法,自动放入每个服务器

  $mem->add("name","zs",0,100);

?>

注意:string, int,float, boolean  array object null resource 中除了 resource 不能存放,其它都可以.
时间: 2024-08-02 21:02:55

memcache(使用php操作memcache)的相关文章

小蚂蚁学memcache笔记—php操作memcache(2)

上篇在学习$mem->set();的时候少写了一个参数,第三个参数,MEMCACHE_COMPRESSED,这个参数的作用在于压缩. memcache是独立机构,是C/S结构.如果memcache满了,LRU算法删除,把最早没有访问过的拿掉. memcache的分布式  这里是重点 在第二部中将connect这个方法改成addserver(),在链接池中添加了一个memcache服务器. 例如 : $mem    ->    new Memcache(); $mem    ->    a

小蚂蚁学memcache笔记—php操作memcache(1)

准备工作 把php_memcache.dll文件拷贝到php的ext下. 特别说明:不同版本php所用的php_memcache.dll版本不同. 修改php.ini文件,加载php_memcache.dll(这个文件其实就是加载了一大堆的函数) 重启apache php实际操作 $mem    =    new Memcache();    //实例化对象 $mem    =    connect('127.0.0.1',11211); $mem    ->    add(键,值,是否压缩,生

小蚂蚁学memcache笔记(1)准备工作以及telnet操作memcache的curd

memcache的应用条件 1.频繁变化的数据.2.丢了也无所谓的数据. 形式: 减值对的形式储存.  key   ->   value value可以储存的类型:1.字符串 2.数值 3.数组 4.对象 5.布尔 6.二进制数据(图片.视频) 安装步骤: 下载 memcache 安装进入cmd,切换到所在目录   使用命令  memcache.exe  -d  install 启动    memcached.exe -d start 使用 netstat  -an 查看11211端口如果被监听

memcache(使用telnet操作)

memcache(使用telnet操作) 使用telnet操作memcache,一般不常用, 1.使用方法 使用telnet操作memcache,一般不常用, 1.使用方法 1. 连接到memcached telnet 192.168.1.100 11211 add name 0 60 5     [说明 add 是指令名  name 是key的名字 (是以key/value存放), 0 标志, 60 表示数据存放 60s   5表示 放入多大数据 ], 如果一个key已经存在,再放入是失败的.

缓存MEMCACHE 使用原子性操作add,实现并发锁

memcache中Memcache::add()方法在缓存服务器之前不存在key时, 以key作为key存储一个变量var到缓存服务器.我们使用add来向服务器添加一个键值对应,如果成功则添加,否则说明存在另一个并发作业在进行操作.通过add的原子性来判断是否要执行热点代码.具体代码需结合上一篇的php使用memcache.使用该方法控制并发需要考虑到缓存的有效期.缓存基于内存的特点. 实现一个包含锁,解锁,锁状态检查的类cacheLock: 1 class cacheLock{ 2 const

Memcache 学习笔记(二)---- PHP 脚本操作 Memcache 服务器

 PHP 脚本操作 Memcache 服务器 一.PHP脚本操作Memcache方法 使用 PHP 脚本操作 Memcache,在 PHP 手册中有详细的介绍,我们可以实例化 Memcache 类,根据需求调取对象方法.Memcached 是较 Memcache 更加 强大的类库,功能更多,这里只介绍Memcache. 部分方法介绍: 1.Memcache::add - 增加一个条目到缓存服务器 2.Memcache::addServer - 向连接池中添加一个memcache服务器 3.Mem

Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy、

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 1.Memcached安装配置 #安装倚赖包 yum install libevent-devel #安装软件 yum -y

自动化运维Python系列之Memcache、Redis操作

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memcached安装 wget http://memcached.org/latest tar -zxvf memcach

整理php操作memcache缓存为基础的方法

php操作memcache共享缓存方法 采用memcache的前提下,是需要在服务器端被配置memcahche环境! 证实memcahce经过正常的连接可以在程序中使用! <?php /** * Memcache缓存操作 * @update http://www.lai18.com */ class MCache extends Object implements CacheFace { private $mem = null; //Mem对象 private $sId = 1; //servi