/**
* Check whether feed's cache should be cleared; for changes feeds
- * If the feed should be purged; $timekey and $key will be removed from
- * $messageMemc
+ * If the feed should be purged; $timekey and $key will be removed from cache
*
* @param string $timekey Cache key of the timestamp of the last item
* @param string $key Cache key of feed's content
*/
public static function checkPurge( $timekey, $key ) {
- global $wgRequest, $wgUser, $messageMemc;
+ global $wgRequest, $wgUser;
+
$purge = $wgRequest->getVal( 'action' ) === 'purge';
if ( $purge && $wgUser->isAllowed( 'purge' ) ) {
- $messageMemc->delete( $timekey );
- $messageMemc->delete( $key );
+ $cache = ObjectCache::getMainWANInstance();
+ $cache->delete( $timekey, 1 );
+ $cache->delete( $key, 1 );
}
}
}
$optionsHash = md5( serialize( $opts->getAllValues() ) ) . $wgRenderHashAppend;
- $timekey = wfMemcKey( $this->type, $this->format, $wgLang->getCode(), $optionsHash, 'timestamp' );
+ $timekey = wfMemcKey(
+ $this->type, $this->format, $wgLang->getCode(), $optionsHash, 'timestamp' );
$key = wfMemcKey( $this->type, $this->format, $wgLang->getCode(), $optionsHash );
FeedUtils::checkPurge( $timekey, $key );
}
/**
- * Save to feed result to $messageMemc
+ * Save to feed result to cache
*
* @param string $feed Feed's content
* @param string $timekey Memcached key of the last modification
* @param string $key Memcached key of the content
*/
public function saveToCache( $feed, $timekey, $key ) {
- global $messageMemc;
- $expire = 3600 * 24; # One day
- $messageMemc->set( $key, $feed, $expire );
- $messageMemc->set( $timekey, wfTimestamp( TS_MW ), $expire );
+ $cache = ObjectCache::getMainWANInstance();
+ $cache->set( $key, $feed, $cache::TTL_DAY );
+ $cache->set( $timekey, wfTimestamp( TS_MW ), $cache::TTL_DAY );
}
/**
- * Try to load the feed result from $messageMemc
+ * Try to load the feed result from cache
*
* @param int $lastmod Timestamp of the last item in the recentchanges table
* @param string $timekey Memcached key of the last modification
* @return string|bool Feed's content on cache hit or false on cache miss
*/
public function loadFromCache( $lastmod, $timekey, $key ) {
- global $wgFeedCacheTimeout, $wgOut, $messageMemc;
+ global $wgFeedCacheTimeout, $wgOut;
- $feedLastmod = $messageMemc->get( $timekey );
+ $cache = ObjectCache::getMainWANInstance();
+ $feedLastmod = $cache->get( $timekey );
if ( ( $wgFeedCacheTimeout > 0 ) && $feedLastmod ) {
/**
if ( $feedLastmodUnix < $lastmodUnix ) {
$wgOut->setLastModified( $feedLastmod ); // bug 21916
}
- return $messageMemc->get( $key );
+ return $cache->get( $key );
} else {
wfDebug( "RC: cached feed timestamp check failed ($feedLastmod; $lastmod)\n" );
}
/**
* Generate the feed items given a row from the database, printing the feed.
* @param object $rows DatabaseBase resource with recentchanges rows
- * @param Feed $feed
+ * @param ChannelFeed $feed
*/
public static function generateFeed( $rows, &$feed ) {
$items = self::buildItems( $rows );