欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php操作Memcache的一个类库

程序员文章站 2022-06-22 12:49:29
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');