Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
WP Plugins
Redis Page Cache
Commits
364901af
Commit
364901af
authored
Dec 13, 2013
by
Benjamin Adams
Browse files
Merge pull request
#11
from hklemp/master
Add Unlimited Cache
parents
4ed79941
50fded33
Changes
2
Hide whitespace changes
Inline
Side-by-side
index-wp-redis.php
View file @
364901af
...
...
@@ -9,21 +9,24 @@ function getMicroTime($t)
return
((
float
)
$usec
+
(
float
)
$sec
);
}
// 12 hours by default, you can change in this in wp-admin options page
$seconds_cache_redis
=
60
*
60
*
12
;
//You must set this to the IP of your website
$ip_of_your_website
=
'127.0.0.1'
;
$debug
=
false
;
/*This is if you want to manually refresh the cache
ex: http://example.com/sample-post?refresh=changeme */
$secret_string
=
"changeme"
;
$ip_of_your_website
=
'127.0.0.1'
;
$secret_string
=
'changeme'
;
if
(
!
defined
(
'WP_USE_THEMES'
))
{
define
(
'WP_USE_THEMES'
,
true
);
}
// so we don't confuse the cloudflare server
if
(
isset
(
$_SERVER
[
'HTTP_CF_CONNECTING_IP'
]))
{
$_SERVER
[
'REMOTE_ADDR'
]
=
$_SERVER
[
'HTTP_CF_CONNECTING_IP'
];
}
if
(
!
defined
(
'WP_USE_THEMES'
))
{
define
(
'WP_USE_THEMES'
,
true
);
}
...
...
@@ -68,16 +71,25 @@ try {
$html_of_page
=
ob_get_contents
();
ob_end_clean
();
echo
$html_of_page
;
//if the user has the seconds defined in the admin section use it
$usr_seconds
=
get_option
(
'wp-redis-cache-seconds'
);
if
(
isset
(
$usr_seconds
)
&&
is_numeric
(
$usr_seconds
))
{
$seconds_cache_redis
=
$usr_seconds
;
}
$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
if
(
!
is_404
())
{
$redis
->
setex
(
$redis_key
,
$seconds_cache_redis
,
$html_of_page
);
// When the search was used, do not cache
if
(
!
is_404
()
&&
!
is_search
())
{
if
(
$unlimited
)
{
$redis
->
setex
(
$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
{
...
...
@@ -99,4 +111,11 @@ if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website) {
$end
=
microtime
();
$time
=
(
@
getMicroTime
(
$end
)
-
@
getMicroTime
(
$start
));
echo
"<!-- Cache system by Benjamin Adams. Page generated in "
.
round
(
$time
,
5
)
.
" seconds. -->"
;
if
(
$debug
)
{
echo
"<!-- wp-redis-cache-seconds = "
.
$seconds_cache_redis
.
" -->"
;
echo
"<!-- wp-redis-cache-secret = "
.
$secret_string
.
"-->"
;
echo
"<!-- wp-redis-cache-ip = "
.
$ip_of_your_website
.
"-->"
;
echo
"<!-- wp-redis-cache-unlimited = "
.
$unlimited
.
"-->"
;
echo
"<!-- wp-redis-cache-debug = "
.
$debug
.
"-->"
;
}
}
wp-redis-cache/options.php
View file @
364901af
...
...
@@ -137,13 +137,15 @@ function edit_redis_options() {
<p><strong>
Seconds of Caching:
</strong><br
/>
How many seconds would you like to cache? *Recommended 12 hours or 43200 seconds
<br
/>
<input
type=
"text"
name=
"wp-redis-cache-seconds"
size=
"45"
value=
"
<?php
echo
get_option
(
'wp-redis-cache-seconds'
);
?>
"
/></p>
<p><strong>
Cache unlimeted:
</strong><br
/>
If this options set the cache never expire. This option overiedes the setting "Seconds of Caching"
<br
/>
<input
type=
"checkbox"
name=
"wp-redis-cache-unlimited"
size=
"45"
value=
"true"
<?php
checked
(
'true'
,
get_option
(
'wp-redis-cache-unlimited'
));
?>
/></p>
<p><input
type=
"submit"
name=
"Submit"
value=
"Update Options"
/></p>
<input
type=
"hidden"
name=
"action"
value=
"update"
/>
<input
type=
"hidden"
name=
"page_options"
value=
"wp-redis-cache-seconds,wp-redis-
secret
"
/>
<input
type=
"hidden"
name=
"page_options"
value=
"wp-redis-cache-seconds,wp-redis-
cache-unlimited
"
/>
</form>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment