php操作Memcache的一个类库

php操作Memcache的一个类库


代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: alisleepy
 * Date: 2019-03-14 9:42
 * Description: {memcache类}
 */
/**
 * Class Memcacheds
 * 缓存类,主要包含一些基本的操作:set、get、del
 */
class Memcacheds{
    //声明静态成员变量
    private static $m      = null;
    private static $cache  = null;
    private static $server = '127.0.0.1';    //地址
    private static $port   = '11211';        //端口

    public function __construct() {
        self::$m = new Memcache();
        self::$m->connect(self::$server, self::$port); //写入缓存地址,port
    }

    //为当前类创建对象
    private static function Men(){
        self::$cache = new Memcacheds();
        return self::$m;
    }

    /*
     * 加入缓存数据
     * @param string $key 获取数据唯一key
     * @param String||Array $value 缓存数据
     * @param $time memcache生存周期(秒)
     */
    public static function set_cache($key,$value,$time){
        self::Men()->set($key,$value,0,$time);
    }

    /*
     * 获取缓存数据
     * @param string $key
     * @return
     */
    public static function get_cache($key){
        return self::Men()->get($key);
    }

    /*
     * 删除相应缓存数据
     * @param string $key
     * @return
     */
    public static function del_cache($key){
        self::Men()->delete($key);
    }

    /*
     * 删除全部缓存数据
     */
    public static function del_all_cache(){
        self::Men()->flush();
    }

    /*
     * 获取服务器统计信息(一般不用)
     */
    public static function get_cache_status(){
        return self::Men()->getStats();
    }
}

使用例子如下:

//引入类库
Vendor('Memcacheds.Memcacheds');
//实例化(也可以不用实例化,直接类名::静态方法名调用)
$memcached = new \Memcacheds();
//获取缓存
$ticket = $memcached->get_cache('jsapi_ticket');
//设置缓存,参数全部必填
$memcached->set_cache('jsapi_ticket', $ticket, 7000);
//清除缓存
$memcached->del_cache('jsapi_ticket');
posted @ 2019-03-28 09:50  alisleepy  阅读(385)  评论(0编辑  收藏  举报