connect('127.0.0.1'); } else // Fallback to predis5.2.php { include_once("app/plugins/wp-redis-cache/predis5.2.php"); //we need this to use Redis inside of PHP $redis = new Predis_Client(); } //Either manual refresh cache by adding ?refresh=secret_string after the URL or somebody posting a comment if (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || strpos($_SERVER['REQUEST_URI'],"refresh=${secret_string}")!==false || ($_SERVER['HTTP_REFERER'] == $current_url && $_SERVER['REQUEST_URI'] != '/' && $_SERVER['REMOTE_ADDR'] != $ip_of_your_website)) { $redis->del($redis_key); require('./wp-blog-header.php'); // This page is cached, lets display it } else if ($redis->exists($redis_key)) { $cache = true; $html_of_page = $redis->get($redis_key); echo $html_of_page; // If the cache does not exist lets display the user the normal page without cache, and then fetch a new cache page } else if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website && strstr($current_url, 'preview=true') == false) { $isPOST = ($_SERVER['REQUEST_METHOD'] === 'POST') ? 1 : 0; $loggedIn = preg_match("/wordpress_logged_in/", var_export($_COOKIE, true)); if ($isPost == 0 && $loggedIn == 0) { ob_start(); require('./wp-blog-header.php'); $html_of_page = ob_get_contents(); ob_end_clean(); echo $html_of_page; $unlimited = get_option('wp-redis-cache-debug',false); $seconds_cache_redis = get_option('wp-redis-cache-seconds',43200); if (!is_numeric($seconds_cache_redis)) { $seconds_cache_redis = 43200; } // When a page displays after an "HTTP 404: Not Found" error occurs, do not cache // When the search was used, do not cache if ((!is_404()) and (!is_search())) { if ($unlimited) { $redis->set($redis_key, $html_of_page); } else { $redis->setex($redis_key, $seconds_cache_redis, $html_of_page); } } } else //either the user is logged in, or is posting a comment, show them uncached { require('./wp-blog-header.php'); } } else if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website && strstr($current_url, 'preview=true') == true) { require('./wp-blog-header.php'); } // else { // This is what your server should get if no cache exists //depricated, as the ob_start() is cleaner // require('./wp-blog-header.php'); // } } catch (Exception $e) { require('./wp-blog-header.php'); } $end = microtime(); $time = (@getMicroTime($end) - @getMicroTime($start)); if ($debug) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; }