<?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. (转)SQL Server 2005 中的计算字段

    在实际工作上遇到的问题: 在订单表中有某项商品是将“订购数量(Quantity)”乘以“单件价格(UnitCost)”等于该项商品的总价(Subtotal). 在数据表中有的列(以下皆改叫为“字段”) ...

  2. 从C#的Singleton设计模式

    近来,我在学习如何在C#语言中使用设计模式中读到一些资料,其中有关Singleton设计模式引起了我的注意. 学过设计模式的开发者都知道Singleton模式.我想简要地解释一下这个设计模式是为那些尚 ...

  3. Android Handler练习

    package com.example.myact12; import java.util.Random; import android.support.v7.app.ActionBarActivit ...

  4. 移动端下拉刷新,iScroll.js用法(转载)

    本文转载自: iScroll.js 用法参考 (share)

  5. mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间

    mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间,我们在mysql里面他封装了一个内置的时间戳转化的函数,比如我们现在的时间戳是:1458536709 ,"%Y-%m-%d&quo ...

  6. c++ 容器(list学习总结)

    list是一个线性双向链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据).一个前驱指针和一个后驱指针.它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内 ...

  7. zw版【转发·台湾nvp系列Delphi例程】HALCON FillUpShape2

    zw版[转发·台湾nvp系列Delphi例程]HALCON FillUpShape2 procedure TForm1.Button1Click(Sender: TObject);var op : H ...

  8. SQLServer中在视图上使用索引(转载)

    在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你 ...

  9. Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤

    资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在 ...

  10. Linux/Unix中的#!和!#

    是不是在Terminal输入命令的时候,输入了很长的一个路径,然后发现还有在同一条命令中再输一次的时候很恼火,其实Shell是提供了trick的,就是使用!#(和#!不同哦) 习惯写脚本的猿,通常对于 ...