<?php
/**
 * @example $mem = new Memcached();
 * @example $getCache = $mem->get('test');
 * @example MEMCACHE_HOST 主机
 * @example MEMCACHE_PORT 端口
 * @example MEMCACHE_TIMEOUT 缓存时间
 */
class Memcached {
   
    private $memcache = null;
   
    /**
     * @desc 构造函数
     */
    public function __construct()
    {
        $this->memcache = new Memcache;
        $this->memcache->connect(MEMCACHE_HOST, MEMCACHE_PORT, MEMCACHE_TIMEOUT);
    }
       
    /**
     * 兼容php4
     */
    public function Memcached()
    {   
        $this->__construct();
    }
       
    /**
     * @desc 根据key获取Memcache的值
     * @param string $name key名称
     * @return array or string
     */
    public function get($name,$isJson = true)
    {
        $value = $this->memcache->get($name);
        if($isJson)
            $value = json_decode($value, true);
        return $value;
    }
   
    /**
     * 设置缓存,如果存在就更新,不存在则添加,如果成功则返回 TRUE,失败则返回 FALSE。
     * @param string $name key名称
     * @param array or array $value value值
     * @param boolean $ttl 是否压缩
     * @param int $ext1 用来设置一个过期自动销毁的时间
     * @return boolean 
     */
    public function set($name, $value, $ext1 = false, $ttl= )
    {
        return $this->memcache->set($name, $value, $ext1, $ttl);
    }
   
    /**
     * 添加缓存,如果成功则返回 TRUE,失败则返回 FALSE。
     * @param string $name key名称
     * @param array or array $value value值
     * @param boolean $ttl 是否压缩
     * @param int $ext1 用来设置一个过期自动销毁的时间
     * @return boolean 
     */
    public function add($name, $value, $ext1 = false, $ttl= )
    {   
        return $this->memcache->add($name, $value , $ext1, $ttl);
    }
   
     /**
     * @desc 删除缓存,如果成功则返回 TRUE,失败则返回 FALSE。
     * @param string $name key名称
     * @return boolean 
     */
    public function delete($name)
    {   
        return $this->memcache->delete($name);
    }
       
    /**
     * @desc 关闭一个Memcache对象
     * @return blloean
     */
    public function close()
    {   
        return $this->memcache->close();
    }
   
    /**
     * @desc Increment item's value (加法操作)
     * @param string $name
     * @param int $value  Increment the item by value . Optional and defaults to 1.
     * @return type
     */
    public function increment($name , $value)
    {   
        return $this->memcache->increment($name, $vlaue);
    }
       
    /**
     * @desc decrement item's value (减法操作)
     * @param string $name
     * @param int $value  decrement the item by value . Optional and defaults to 1.
     * @return type
     */
    public function decrement($name , $value)
    {   
        return $this->memcache->decrement($name, $vlaue);
    }
       
    /**
     * @desc 获取进程池中所有进程的运行系统统计
     * @return array
     */
    public function getExtendedStats()
    {   
        return $this->memcache->getExtendedStats();
    }
       
    /**
     * @desc 返回服务器的一些运行统计信息
     * @return array
     */
    public function getStats()
    {   
        return $this->memcache->getStats();
    }
   
    /**
     * @desc 清空缓存,如果成功则返回 TRUE,失败则返回 FALSE。
     * @return boolean
     */
    public function flush()
    {   
        return $this->memcache->flush();
    }
}
?>

PHP脚本memcache类的源码的更多相关文章

  1. Unity 3D游戏-贪吃蛇类游戏源码:重要方法和功能的实现

    贪吃蛇类游戏源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 头部移动方式 2 生成 Shit 道具 ...

  2. 25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment

    25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment 25 BasicUsageEnvironment0基本使用环境基类— ...

  3. 24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment

    24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment 24 UsageEnvironment使用环境抽象基类——Live555源码阅读 ...

  4. 12 哈希表相关类——Live555源码阅读(一)基本组件类

    12 哈希表相关类--Live555源码阅读(一)基本组件类 这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 ...

  5. String类的源码分析

    之前面试的时候被问到有没有看过String类的源码,楼主当时就慌了,回来赶紧补一课. 1.构造器(构造方法) String类提供了很多不同的构造器,分别对应了不同的字符串初始化方法,此处从源码中摘录如 ...

  6. IDEA定位到类的代码区域(查看类的源码)

    经常需要查看某一个类中的成员变量和方法,那么怎么进入到这个类的源码区域呢?在IDEA中只需要使用快捷键: ctrl+shift+t 就可以快速定位到这个类的源码.

  7. 分享自己用的php分页类实例源码

    分享一个我自己用着的php分页类实例源码,供大家参考,具体内容如下: <?php /** file: page.class.php 完美分页类 Page */ class Page { priv ...

  8. java Thread 类的源码阅读(oracle jdk1.8)

    java线程类的源码分析阅读技巧: 首先阅读thread类重点关注一下几个问题: 1.start() ,启动一个线程是如何实现的? 2.java线程状态机的变化过程以及如何实现的? 3. 1.star ...

  9. String类——StringBuilder类的源码及内存分析(java)

    相同:底层均采用字符数组value来保存字符串 区别:String类的value数组有final 修饰,指向不可改,同时private 未提供修改value数组的方法.StringBuilder类的v ...

随机推荐

  1. ScrollView属性总结

    结构 继承关系 public class ScrollView extends FrameLayout java.lang.Object android.view.View android.view. ...

  2. .scss写法及如何转化为.css

    scss可视化工具:http://koala-app.com/index-zh.html scss讲解地址:http://www.cnblogs.com/adine/archive/2012/12/1 ...

  3. DDR3命令状态(二)

    DDR3中的状态机Diagram,详见相册. ACT:Activate,表示输出行地址,和是否自动precharge控制位. PRE:Precharge,在读写后,可以根据A10来判断是否自己进行pr ...

  4. MySQL增删改查

    C/S:Client ServerB/S:Brower Server php主要实现B/S .net IIS java TomCat LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Ph ...

  5. [div+css]网站布局实例二

    重点: 合理应用"xhtml标签"建立良好的页面结构 拿到一份"设计方案"的效果图后不要立即开始编码,而是要 首先理清"各元素之间的关系"; ...

  6. 【crunch bang】中文美化

    原文连接:http://edyfox.codecarver.org/html/debian_testing_chinese.html 中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做 ...

  7. z/os上的tar和gzip(3)

    前面两篇文章分别讲过了如何合并并压缩批量文件,如何解压缩并恢复批量文件, 这些问题解决了之后还剩下一个大问题,如何在网络上传输这些压缩过的文件,如果是linux的话非常简单,制定binary,然后ge ...

  8. 【转】The Attached Behavior Pattern

    原文:http://www.bjoernrochel.de/2009/08/19/the-attached-behavior-pattern/ The Attached Behavior Patter ...

  9. http-使用get和post方式提交数据

    注意点: 1.Get和post这两种提交方式有何不同? 很明显post方式提交多了content-length和content-type这两项,所以post提交是要为这两项设置setRequestPr ...

  10. 在TVideoGrabber中如何在预览时设置相机属性

    在使用TVideoGrabber进行预览时,如何设置相机的属性呢?比如曝光.对比度.亮度等. 下面来看一下,如何通过编程来调整这些设置: ——通过指定VideoDevice属性(在VideoDevic ...