cache built posts' HTML with memcached

This commit is contained in:
Savetheinternet 2011-05-19 21:50:19 +10:00
parent fcab256146
commit e60a6a1a58
3 changed files with 13 additions and 2 deletions

View File

@ -56,6 +56,8 @@
// Experimental: cache entire thread HTML (for mods, since we already cache it with static HTML anyway)
// Increases load times for mods but might take up a bit of memory
$config['memcached']['cache_threads'] = false;
// Timeout for cached objects such as posts and HTML
$config['memcached']['timeout'] = 86400; // one day
// The name of the session cookie (PHP's $_SESSION)
$config['cookies']['session']= 'imgboard';

View File

@ -260,7 +260,12 @@
}
public function build($index=false) {
global $board, $config;
global $board, $config, $memcached;
if(!$this->mod && $config['memcached']['enabled']) {
if($built = $memcached->get('post_' . ($index ? 'index_' : '') . $board['uri'] . '_' . $this->id))
return $built;
}
$built = '<div class="post reply" id="reply_' . $this->id . '">' .
'<p class="intro"' . (!$index?' id="' . $this->id . '"':'') . '>' .
@ -347,6 +352,10 @@
// Body
$built .= '<p class="body">' . ($index ? truncate($this->body, $this->link()) : $this->body) . '</p></div><br class="clear"/>';
if(!$this->mod && $config['memcached']['enabled']) {
$memcached->set('post_' . ($index ? 'index_' : '') . $board['uri'] . '_' . $this->id, $built, time() + $config['memcached']['timeout']);
}
return $built;
}
};

View File

@ -1258,7 +1258,7 @@
));
if($config['memcached']['cache_threads'] && $config['memcached']['enabled']) {
$memcached->set('thread_' . $board['uri'] . '_' . $id, $body, time() + 86400);
$memcached->set('thread_' . $board['uri'] . '_' . $id, $body, time() + $config['memcached']['timeout']);
}
if($return)