php操做Memcache的一個類庫

###php操做Memcache的一個類庫

代碼以下:php

<?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();
    }
}

使用例子以下:api

//引入類庫
Vendor('Memcacheds.Memcacheds');
//實例化(也能夠不用實例化,直接類名::靜態方法名調用)
$memcached = new \Memcacheds();
//獲取緩存
$ticket = $memcached->get_cache('jsapi_ticket');
//設置緩存,參數所有必填
$memcached->set_cache('jsapi_ticket', $ticket, 7000);
//清除緩存
$memcached->del_cache('jsapi_ticket');
相關文章
相關標籤/搜索