Memcached技术04 PHP操作memcached

Posted Web学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Memcached技术04 PHP操作memcached相关的知识,希望对你有一定的参考价值。

如何使用php程序操作我们的memcached服务

danga公司为了能够让php程序能够操作memcached,专门提供了一套供php使用的扩展程序(即php_memcache.dll)

步骤,准备工作.

(1) 把 php_memcache.dll 文件拷贝 phpext

? 不同版本的php 所使用的 php_memcache.dll 的版本不一样

(2) 修改php.ini文件,加载 php_memcache.dll (该文件就是封装了一堆函数)

;加载php_memcache.dll 文件

extension=php_memcache.dll  (.dll扩展程序是用vccc++程序编译而成的。)

(3) 重新启动apache

(4) 我们写程序来完成curd操作.

mem1.php

<?php   
    //创建一个mem对象实例
    $mem=new Memcache;
    if(!$mem->connect("127.0.0.1",11211)){//打开一个memcached服务端连接
        die(‘连接失败!‘);
    }
    //增加
    //1.增加一个字串
    //Memcached::add(...)如果已经有key1则返回false.Memcached::set(...),key1存在则替换,key1不存在则添加
    /*if($mem->set(‘key1‘,"beijing",MEMCACHE_COMPRESSED,60)){
        
        echo ‘添加ok‘;
    }*/
    
    //2.添加数值
   /* if($mem->set(‘key1‘,100,MEMCACHE_COMPRESSED,60)){
        echo ‘添加ok‘;
    }*/
    //3.添加数组
    //在添加数组是,根据需要. 希望序列号放入  ,
    //serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode
    $arr=array("bj",‘tj‘);
    if($mem->set(‘key1‘,$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){
        echo ‘添加数组ok‘;
    }
    //4.添加对象
   /*class Dog{
        public $name;
        public $age;
        public function __construct($name,$age){
            $this->name=$name;
            $this->age=$age;
        }
    }
    $dog1=new Dog(‘小狗‘,50);
    if($mem->set(‘key1‘,$dog1,MEMCACHE_COMPRESSED,60)){   
        echo ‘添加对象ok‘;
    }*/
    //5.添加null 布尔值
    /*if($mem->set(‘key1‘,false,MEMCACHE_COMPRESSED,60)){    
        echo ‘添加布尔ok‘;
    }*/

    //6. 资源类型放入.
    /*$con=mysql_connect("127.0.0.1","root","root");
    if(!$con){
        die(‘连接数据库失败‘);
    }
    var_dump($con);
    echo "<br/>";
    if($mem->set(‘key1‘,$con,MEMCACHE_COMPRESSED,60)){
        
        echo ‘添加资源ok‘;
    }*/
    //查询
    $val=$mem->get(‘key1‘);
    var_dump($val);
    //修改
    //可以使用replace
    if($mem->replace("key11",‘hello‘,MEMCACHE_COMPRESSED,60)){
        echo ‘replace ok‘;
    }else{
        echo ‘replace no ok‘;
    }
    //删除
    echo "<br/>";
    if($mem->delete(‘key14‘)){
        echo ‘key14 删除‘;
    }else{
        echo ‘key14不存在‘;
    }

 

如何使用PHP源码来操作memcached服务

 

如果管理员不让我们去加载 memcache.dll 文件,我们可以直接通过源码操作.

 

首先关闭php_memcache.dll扩展,接着看mem3.php代码:

 

以上是关于Memcached技术04 PHP操作memcached的主要内容,如果未能解决你的问题,请参考以下文章

Memcached安装部署及基本操作

宝塔面板安装memcached及详细配置方法

memcached

Window系统环境 安装memcached详细教程

Memcached内存数据库群集配置(理论+实践篇)

PHP5-FPM 随机开始消耗大量 CPU