function getInterwikiLink( $key )
{
- # Performance note: It would probably be a good idea to
- # get/set/fetch the entire $title_interwiki_cache with memcache
- # here, reducing some overhead for the repeated memcache accesses.
- # Popular pages often has many interwiki links anyways.
-
global $wgMemc, $wgDBname, $title_interwiki_cache;
$k = "$wgDBname:interwiki:$key";
return $title_interwiki_cache[$k]->iw_url;
$s = $wgMemc->get( $k );
- if( $s !== false ) return $s->iw_url;
-
+ if( $s ) {
+ $title_interwiki_cache[$k] = $s;
+ return $s->iw_url;
+ }
$dkey = wfStrencode( $key );
$query = "SELECT iw_url FROM interwiki WHERE iw_prefix='$dkey'";
$res = wfQuery( $query, DB_READ, "Title::getInterwikiLink" );
$s->iw_url = "";
}
$wgMemc->set( $k, $s );
- $title_interwiki_cache[$k] = $s;
+ $title_interwiki_cache[$k] = $s;
return $s->iw_url;
}