diff options
| author | Urban Müller | 2022-11-17 17:59:45 +0100 | 
|---|---|---|
| committer | Urban Müller | 2022-11-17 17:59:45 +0100 | 
| commit | 65fd37a0c26be5b7c4403bb71c59c8119d1a8d77 (patch) | |
| tree | 9bc9ff476fb54bc4864a1061509dbd175fbc4afb /it_cache.class | |
| parent | e4ed34fc4f188e8ac9ef040818e3090f880a090a (diff) | |
| download | itools-65fd37a0c26be5b7c4403bb71c59c8119d1a8d77.tar.gz itools-65fd37a0c26be5b7c4403bb71c59c8119d1a8d77.tar.bz2 itools-65fd37a0c26be5b7c4403bb71c59c8119d1a8d77.zip | |
fall back to apc if memcache is down, hopefully solves trouble when login down
Diffstat (limited to 'it_cache.class')
| -rw-r--r-- | it_cache.class | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/it_cache.class b/it_cache.class index 69f9498..081db65 100644 --- a/it_cache.class +++ b/it_cache.class @@ -56,7 +56,8 @@ static function get($key, $p = array())  		$result = @$memcache->get($key);  		$success = !$memcache->getResultCode();  	} -	else + +	if (!$success)  		$result = ($func = self::$_fetch_func) ? $func($key, $success) : null;  	return $success === false ? null : $result; @@ -76,11 +77,12 @@ static function put($key, $value, $p = array())  	$p = it_cache::_defaults($p);  	if ($p['distributed'] && ($memcache = it_cache::_get_memcache($p))) -		$success = @$memcache->set($key, $value, $p['ttl']); -	else +		$success = $memsuccess = @$memcache->set($key, $value, $p['ttl']); + +	if (!$success)  		$success = ($func = self::$_store_func) ? $func($key, $value, $p['ttl']) : null; -	if (!$success && $p['safety'] == 1) +	if ($memsuccess === false && $p['safety'] == 1)  		it::error(array_filter([  			'title' => ($p['distributed'] ? "memcache (" . ($memcache ? ($memcache->getResultMessage() . " on " . $memcache->getServerByKey($key)['host']) : "n/a") . ")" : self::$_store_func) . " in it_cache::put failed",  			'body' => "key='$key'", |