Cache.php 1.62 KB
<?php
/**
 * Created by PhpStorm.
 * User: Zip
 * Date: 14/12/9
 * Time: 下午7:40
 */

namespace Hood;

use Hood\Cache\Memcached as Mcd;
use Hood\Cache\Memcache as Mc;
use Hood\Cache\CacheRedis;
use Hood\Cache\FileCache;
use Hood\Cache\CacheSSDB;

class Cache
{
    /**
     *
     * @param null $node
     * @return Mcd
     */
    static public function Memcached($node = null, $childNode = 'hosts')
    {
        $mc = new Mcd();
        $mc->setNode($node)->setChildNodes($childNode);
        return $mc;
    }

    /**
     * @param null $node
     * @param string $childNode
     * @return Mc
     */
    static public function Memcache($node = null, $childNode = 'hosts')
    {
        $mc = new Mc();
        $mc->setNode($node)->setChildNodes($childNode);
        return $mc;
    }

    /**
     * @return CacheRedis
     */
    static public function Redis($node = 'servers', $childNode = 'hosts')
    {
        $redis = new CacheRedis();
        $redis->setNode($node)->setChildNodes($childNode);
        return $redis;
    }


    /**
     *
     * @param null $childNode
     * @param string $node
     * @param null $cachePath
     * @return FileCache
     */
    static public function File($childNode = null, $node = 'cache', $cachePath = null)
    {
        return new FileCache($childNode, $node, $cachePath);
    }
    
    
    
    /**
     * ssdb
     * @param string $node
     * @param string $childNode
     * @return CacheSSDB
     */
    public static function SSDB($node = 'servers', $childNode = 'hosts')
    {
        $ssdb = new CacheSSDB();
        $ssdb->setNode($node)->setChildNodes($childNode);
        return $ssdb;
    }
}