* Create a PageProps object
*/
private function __construct() {
- $this->cache = new ProcessCacheLRU( self::CACHE_SIZE );
+ $this->cache = new MapCacheLRU( self::CACHE_SIZE );
}
/**
* @param int $size
*/
public function ensureCacheSize( $size ) {
- if ( $this->cache->getSize() < $size ) {
- $this->cache->resize( $size );
+ if ( $this->cache->getMaxSize() < $size ) {
+ $this->cache->setMaxSize( $size );
}
}
private function getGoodIDs( $titles ) {
$result = [];
if ( is_array( $titles ) ) {
+ ( new LinkBatch( $titles ) )->execute();
+
foreach ( $titles as $title ) {
$pageID = $title->getArticleID();
if ( $pageID > 0 ) {
* @return string|bool property value array or false if not found
*/
private function getCachedProperty( $pageID, $propertyName ) {
- if ( $this->cache->has( $pageID, $propertyName, self::CACHE_TTL ) ) {
- return $this->cache->get( $pageID, $propertyName );
+ if ( $this->cache->hasField( $pageID, $propertyName, self::CACHE_TTL ) ) {
+ return $this->cache->getField( $pageID, $propertyName );
}
- if ( $this->cache->has( 0, $pageID, self::CACHE_TTL ) ) {
- $pageProperties = $this->cache->get( 0, $pageID );
+ if ( $this->cache->hasField( 0, $pageID, self::CACHE_TTL ) ) {
+ $pageProperties = $this->cache->getField( 0, $pageID );
if ( isset( $pageProperties[$propertyName] ) ) {
return $pageProperties[$propertyName];
}
* @return string|bool property value array or false if not found
*/
private function getCachedProperties( $pageID ) {
- if ( $this->cache->has( 0, $pageID, self::CACHE_TTL ) ) {
- return $this->cache->get( 0, $pageID );
+ if ( $this->cache->hasField( 0, $pageID, self::CACHE_TTL ) ) {
+ return $this->cache->getField( 0, $pageID );
}
return false;
}
* @param mixed $propertyValue value of property
*/
private function cacheProperty( $pageID, $propertyName, $propertyValue ) {
- $this->cache->set( $pageID, $propertyName, $propertyValue );
+ $this->cache->setField( $pageID, $propertyName, $propertyValue );
}
/**
*/
private function cacheProperties( $pageID, $pageProperties ) {
$this->cache->clear( $pageID );
- $this->cache->set( 0, $pageID, $pageProperties );
+ $this->cache->setField( 0, $pageID, $pageProperties );
}
}