URI based hash, for nginx compatability
This commit is contained in:
		
							parent
							
								
									b33aa49f00
								
							
						
					
					
						commit
						320877f80b
					
				@ -849,8 +849,8 @@ function _get_user() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$_cache_hash = null;
 | 
			
		||||
$_cache_memcache = false;
 | 
			
		||||
$_cache_key = null;
 | 
			
		||||
$_cache_filename = null;
 | 
			
		||||
 | 
			
		||||
function _cache_active() {
 | 
			
		||||
@ -871,30 +871,27 @@ function _cache_log($text) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _start_cache() {
 | 
			
		||||
	global $_cache_hash, $_cache_memcache, $_cache_filename;
 | 
			
		||||
	global $_cache_memcache, $_cache_key, $_cache_filename;
 | 
			
		||||
 | 
			
		||||
	if(_cache_active()) {
 | 
			
		||||
		$_cache_hash = md5($_SERVER["QUERY_STRING"]);
 | 
			
		||||
 | 
			
		||||
		if(CACHE_MEMCACHE) {
 | 
			
		||||
			$_cache_memcache = new Memcache;
 | 
			
		||||
			$_cache_memcache->pconnect('localhost', 11211);
 | 
			
		||||
			$zdata = $_cache_memcache->get($_cache_hash);
 | 
			
		||||
			$_cache_key = "uri:".$_SERVER["REQUEST_URI"];
 | 
			
		||||
			$data = $_cache_memcache->get($_cache_key);
 | 
			
		||||
			if(DEBUG) {
 | 
			
		||||
				$stat = $zdata ? "hit" : "miss";
 | 
			
		||||
				_cache_log(time() . " " . $_cache_hash . sprintf(" %-12s ", $stat) . $_SERVER["QUERY_STRING"] . "\n");
 | 
			
		||||
				_cache_log(time() . " " . sprintf(" %-4s ", $stat) . $_cache_key . "\n");
 | 
			
		||||
			}
 | 
			
		||||
			if($zdata) {
 | 
			
		||||
			if($data) {
 | 
			
		||||
				header("Content-type: text/html");
 | 
			
		||||
				$data = @gzuncompress($zdata);
 | 
			
		||||
				if($data) {
 | 
			
		||||
					print $data;
 | 
			
		||||
					exit;
 | 
			
		||||
				}
 | 
			
		||||
				print $data;
 | 
			
		||||
				exit;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(CACHE_DIR) {
 | 
			
		||||
			$_cache_hash = md5($_SERVER["QUERY_STRING"]);
 | 
			
		||||
			$ab = substr($_cache_hash, 0, 2);
 | 
			
		||||
			$cd = substr($_cache_hash, 2, 2);
 | 
			
		||||
			$_cache_filename = "data/$ab/$cd/$_cache_hash";
 | 
			
		||||
@ -934,15 +931,16 @@ function _start_cache() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _end_cache() {
 | 
			
		||||
	global $_cache_hash, $_cache_memcache, $_cache_filename;
 | 
			
		||||
	global $_cache_memcache, $_cache_key, $_cache_filename;
 | 
			
		||||
 | 
			
		||||
	if(_cache_active()) {
 | 
			
		||||
		$data = gzcompress(ob_get_contents(), 9);
 | 
			
		||||
		$data = ob_get_contents();
 | 
			
		||||
		if(CACHE_MEMCACHE) {
 | 
			
		||||
			$_cache_memcache->set($_cache_hash, $data, 0, 600);
 | 
			
		||||
			$_cache_memcache->set($_cache_key, $data, 0, 600);
 | 
			
		||||
		}
 | 
			
		||||
		if(CACHE_DIR) {
 | 
			
		||||
			file_put_contents($_cache_filename, $data);
 | 
			
		||||
			$zdata = gzcompress($data, 2);
 | 
			
		||||
			file_put_contents($_cache_filename, $zdata);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user