PHP脚本memcache类的源码

<?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= 0)
    {
        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= 0)
    {   
        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();
    }
}
?>
时间: 2024-11-09 00:34:05

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

ios版塔防类游戏源码

一款ios塔防类游戏源码 ,一款像素风格的防御类游戏源码.老鼠向目标进攻,点击老鼠就可以直接把老鼠拍死.或者像<水果忍着>那样滑动屏幕将目标弄死,大家可以看看吧. 项目源码下载:http://code.662p.com/view/6308.html <ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> 详细说明:http://ios.662p.com/thread-1449-1-2

关于java中ReentrantLock类的源码分析以及总结与例子

一,官方描述 关于ReentrantLock的官方描述,英文的就不贴出来了,这里我只贴出我自己翻译的描述: reentrant是一个跟synchronized具有相同行为和语义的持有锁来访问方法和语句的互斥锁,但是reentrant还拥有被扩展的能力. ReentrantLock会被线程拥有并且持续锁定,不会解锁.线程调用lock()方法返回后,则成功持有锁,否则这个锁正在被另一个线程所持有,只能等待另一个线程释放锁,如果当前线程拥有了锁,则调用lock()方法会立即返回,这个状态可以通过isH

JDK中String类的源码分析(二)

1.startsWith(String prefix, int toffset)方法 包括startsWith(*),endsWith(*)方法,都是调用上述一个方法 1 public boolean startsWith(String prefix, int toffset) { 2 char ta[] = value; 3 int to = toffset; 4 char pa[] = prefix.value; 5 int po = 0; 6 int pc = prefix.value.l

【小白的java成长系列】——顶级类Object源码分析

首先来说一下api文档使用,api这个词对有一定开发经验的java编程人员来说是很喜爱的~ java当然也提供了api开发文档,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 找到下面的: 下载自己喜爱的版本即可,解压,点击~/jdk-7u60-apidocs/api/index.html就可以查看其api了: 跟上网一样一样的,点击相应链接就可以查看其信息了. 进入正题,说说Object这个类: 先

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

java线程类的源码分析阅读技巧: 首先阅读thread类重点关注一下几个问题: 1.start() ,启动一个线程是如何实现的? 2.java线程状态机的变化过程以及如何实现的? 1.start方法的源码如下: new Thread(Runnable):代码内部实际代码如下: /** * Initializes a Thread. * * @param g the Thread group * @param target the object whose run() method gets c

shell脚本:lnmp等源码安装脚本

##脚本功能: # 源码安装dns.nginx.php.memcached.gonet.mysql,并做相关的配置 # ##脚本说明: # ##更新记录: # 1.增加dns.nginx的配置文件 # 2.优化mysql.nginx.dns等安装的部分函数 # 3.增加安装gonet服务的功能函数 -------------------------- #!/bin/bash # by colin on 2016-01-06 # revision on 2016-04-29 ###########

LAMP Ubuntu 12.04 LTS 搭建 ---附带memcache redis安装(源码)

LAMP Ubuntu 12.04 LTS 搭建 基本组件的安装 #!/bin/env bash #update sudo apt-get update echo "********************LAMP*****************************" apt-get install install apache2 php5 mysql-server php5-mysql echo "********************php5-extend gd

【旅游类APP源码】开发者案例开源,走过路过不可错过!

小编语:继上周分享仿饿了么APP源码后,得到了开发者们的强烈反响.热心的开发者(社区ID:小小昊)又翻箱倒柜地找出一个旅游类项目,大手一挥,慷慨奉献给各位AppCan的同学了!想要学习旅游类APP开发的同学千万不要错过啦!AppCan要继续开源!开源!再开源(重要的事情说三遍!) 本案例使用Bootstrap实现css布局,用AppCan IDE开发,用AppCan实现页面跳转功能. 测试机型:红米1S.小米3 页面构成 如图为案例整体布局,起始页为index页面,index页面分为四部分,首页

Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)

在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.. 在广泛使用的侧边滑动导航开源库 --SlidingLayer其实就是使用到了Scroller类进行的实现,下载地址:GITHUB  ,下面要讲的不是这个库,而是这个库的实现过程中使用到的---Scroller类,懂了之后你看库的源码就知道,原来它是这样实现的. Scroller类使用过程中,懂得以下机制可能会对开发更有帮助: 1