Mem类代码:
class Mem
{
    //类型是memcache或memcached
    private $type = 'Memcached';

    //会话
    private $m;
    //缓存时间,0代表永久
    private $time = 0;
    //错误信息
    private $error;
    //调试模式
    private $debug = 'true';

    public function __construct()
    {
        if (!class_exists($this->type)) 
        {
            $this->error = 'No '.$this->type;
            return false;
        }
        else
        {
            $this->m = new $this->type;
        }
    }

    //添加服务器
    //$arr应该为数组
    public function addServer($arr)
    {
        $this->m->addServers($arr);
    }

    //数据操作
    public function s($key, $value = '', $time = 0)
    {
        $number = func_num_args();
        if($number == 1)
        {
            //get
            return $this->get($key);
        }
        else if ($number >= 2) 
        {
            if ($value === NULL) 
            {
                //delete
                $this->delete($key);
            }
            else
            {
                //set
                $this->set($key, $value, $time);
            }
        }
    }

    //set
    private function set($key, $value, $time  = 0)
    {
        if ($time === NULL) 
        {
            $time = $this->time;
        }
        $this->m->set($key, $value, $time);
        if ($this->debug) 
        {
             if ($this->m->getResultCode() != 0) 
            {
                return false;
            }
        }
    }

    //get
    private function get($key)
    {
        $result = $this->m->get($key);
        if ($this->debug) 
        {
            if ($this->m->getResultCode() != 0) 
            {
                return false;
            }
            else 
            {
                return $result;
            }
        }
        else 
        {
            return $result;
        }
    }

    //delete
    private function delete($key)
    {
        $this->m->delete($key);
    }

    //获取错误信息
    public function getError()
    {
        if($this->error)
        {
            return $this->error;
        }
        else
        {
            return $this->m->getResultMessage();
        }
    }
}


Mem类测试代码:
 

自己的memcache类的更多相关文章

  1. memcache类的扩展函数

    Memcache — Memcache类 /****连接****/1.Memcache::connect – 创建一个Memcache对象语法:bool Memcache::connect ( str ...

  2. php 封装memcache类

    <?php /*  * memcache类   */ class Memcacheds{     //声明静态成员变量     private static $m = null;     pri ...

  3. PHP脚本memcache类的源码

    <?php /**  * @example $mem = new Memcached();  * @example $getCache = $mem->get('test');  * @e ...

  4. Memcache类

    class Memcache{ private static $mem = null; public function mem_create(){ self::$mem = new \Memcache ...

  5. 如何在腾讯开放平台的云服务器上安装php和memcache 一

    由于被通知腾讯的CEE要关闭了,必须自己切换到服务器,自己装php.烦到一个B. 首先找到官方wiki: http://wiki.qcloud.com/wiki/SUSE%E7%8E%AF%E5%A2 ...

  6. php的memcache安装,在window10下面

    1.memcached-win对应得安装包 2.解压,可以放到任意目录,以管理员身份打开cmd 3.在安装的目录下面,执行如下命令 memcached.exe -d install 安装 Memcac ...

  7. php项目中使用memcache

    memcache为分布式内存缓存系统,通过在内存中存取数据和对象减少对数据库的访问从而减轻数据库的负载,memcache分为客户端和服务端,服务端为C实现,有现成的服务端应用程序,无需开发,只需要配置 ...

  8. linux下memcache的运用,和php结合小案例。

    由于是采用脚本安装的memache,所以软件的依赖关系我就不操心了,脚本已经帮我装好了和php的关联关系,实在是很省心.后续如果有需要,我会针对windows和linux各写一个安装和配置的说明,一来 ...

  9. php Memcache/Memcached操作手册

    php Memcache/Memcached使用教程 Memcache和Memcached 其实是一个东西,只是php中要是用的扩展不一样, 2009年左右有人丰富memcache的用法和性能,编写了 ...

随机推荐

  1. iOS开发-装饰模式

    装饰模式是指在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.通过创建一个包装对象,也就是装饰来包裹真实的对象.装饰模式中的装饰对象和真实对象有相同的接口.这样客户端对象就能以和真实对象 ...

  2. 2014年新一代的报表利器 Qlik Sense Desktop 初步体验

    点击进入 QlikView/QlikSense 社区  交流群:432998033 Qlik Sense Desktop 的案例展示 先上几个刚刚边看边学完成的几个报表案例效果 (如果图片显示不正常, ...

  3. 如何诊断windows性能问题

    直接使用perfmon中的性能诊断工具

  4. postgresql ltree类型

    最近一个月使用Postgresql的时候,经常遇到ltree的数据,感觉有些别扭,可是有绕不过去.今天决心整理一下,以后使用方便一些. 一.简介 ltree是Postgresql的一个扩展类型,由两位 ...

  5. Promise.then的第二个参数与catch的区别

    1.异常捕获 getJSON("/post/1.json").then(function(post) { return getJSON(post.commentURL); }).t ...

  6. 记一次数据库参数compatible降级[转]

    转:http://dbzone.iteye.com/blog/1042455 众所周知,Oracle参数compatible 主要用于启用Oracle针对某一版本的新特性.但此参数设置时,只能往上调, ...

  7. 各个屏幕的logo尺寸要求

    DENSITY SIZE LOCATION RATIO SCREEN MARGIN XXXHDPI 192×192 drawable-xxxhdpi 4 640 DPI 12 to 16 pixels ...

  8. CentOS 7 配置HTTPS加密访问SVN

    上一篇文章已经介绍了如何在CentOS7环境下安装SVN并整合HTTP访问 http://www.cnblogs.com/fjping0606/p/7581093.html 那么本文则介绍如何添加HT ...

  9. eoe移动开发者大会—移动开发者的极客盛宴 2013年9月14日期待您的加入!!

    2013 eoe移动开发者大会北京站即将盛大开启!      大会介绍 由国内最大的移动开发者社区eoe主办,在行业盟友的倾力支持下,集合了来自微软.Google.亚马逊.ARM等跨国公司业务负责人的 ...

  10. RxSwift之路 2#如何开始

    RxSwift之路 2#如何开始 第一步当然是把项目clone到本地,github地址:https://github.com/ReactiveX/RxSwift. 官方文档 学习的第一手资源当然是项目 ...