3 namespace Friendica\Core\Cache;
5 use Friendica\Core\Config;
8 * Class CacheDriverFactory
10 * @package Friendica\Core\Cache
12 * A basic class to generate a CacheDriver
14 class CacheDriverFactory
17 * This method creates a CacheDriver for the given cache driver name
19 * @param string $driver The name of the cache driver
20 * @return ICacheDriver The instance of the CacheDriver
21 * @throws \Exception The exception if something went wrong during the CacheDriver creation
23 public static function create($driver) {
27 $memcache_host = Config::get('system', 'memcache_host');
28 $memcache_port = Config::get('system', 'memcache_port');
30 return new MemcacheCacheDriver($memcache_host, $memcache_port);
34 $memcached_hosts = Config::get('system', 'memcached_hosts');
36 return new MemcachedCacheDriver($memcached_hosts);
39 $redis_host = Config::get('system', 'redis_host');
40 $redis_port = Config::get('system', 'redis_port');
42 return new RedisCacheDriver($redis_host, $redis_port);
45 return new DatabaseCacheDriver();