X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FPageProps.php;h=df2451c3a5ffeeffbf866c615c89572af552202a;hb=9801a1245c25b67f2c6c46eefde538bfbec3d5a5;hp=dac756ed7520465dfd7129048db83fb3f8dd6dda;hpb=fb44a171b20b1ca832b93c8d788070fc6b13d932;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/PageProps.php b/includes/PageProps.php index dac756ed75..df2451c3a5 100644 --- a/includes/PageProps.php +++ b/includes/PageProps.php @@ -81,7 +81,7 @@ class PageProps { * Create a PageProps object */ private function __construct() { - $this->cache = new ProcessCacheLRU( self::CACHE_SIZE ); + $this->cache = new MapCacheLRU( self::CACHE_SIZE ); } /** @@ -89,8 +89,8 @@ class PageProps { * @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 ); } } @@ -242,6 +242,8 @@ class PageProps { private function getGoodIDs( $titles ) { $result = []; if ( is_array( $titles ) ) { + ( new LinkBatch( $titles ) )->execute(); + foreach ( $titles as $title ) { $pageID = $title->getArticleID(); if ( $pageID > 0 ) { @@ -265,11 +267,11 @@ class PageProps { * @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]; } @@ -284,8 +286,8 @@ class PageProps { * @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; } @@ -298,7 +300,7 @@ class PageProps { * @param mixed $propertyValue value of property */ private function cacheProperty( $pageID, $propertyName, $propertyValue ) { - $this->cache->set( $pageID, $propertyName, $propertyValue ); + $this->cache->setField( $pageID, $propertyName, $propertyValue ); } /** @@ -309,6 +311,6 @@ class PageProps { */ private function cacheProperties( $pageID, $pageProperties ) { $this->cache->clear( $pageID ); - $this->cache->set( 0, $pageID, $pageProperties ); + $this->cache->setField( 0, $pageID, $pageProperties ); } }