/**
  * @param string $seed
  * @return mixed
  */
 protected function getMemCacheKey($seed)
 {
     if (!isset($this->keys[$seed])) {
         $this->keys[$seed] = wfsharedMemcKey(static::MEMC_NAME . static::CACHE_VERSION . ':' . $seed);
     }
     return $this->keys[$seed];
 }
 public function getWikiAdmins($wikiId, $avatarSize, $limit = null)
 {
     return WikiaDataAccess::cacheWithLock(wfsharedMemcKey('get_wiki_admins', $wikiId, $avatarSize, $limit), 3 * 60 * 60, function () use($wikiId, $avatarSize, $limit) {
         $admins = array();
         try {
             $admins = $this->getWikiAdminIds($wikiId, false, true, $limit, false);
             $checkUserCallback = function ($user) {
                 return true;
             };
             foreach ($admins as &$admin) {
                 $userInfo = $this->getUserInfo($admin, $wikiId, $avatarSize, $checkUserCallback);
                 $admin = $userInfo;
             }
         } catch (Exception $e) {
             // for devboxes
         }
         return $admins;
     });
 }