public function getHomePageList(FileCache $cache)
{
if (!$cache->contains('home_journal_offset')) {
$cache->save('home_journal_offset', rand(0, $this->getJournalCount()), 3600);
}
$cachedOffset = $cache->fetch('home_journal_offset');
$list = $this->createQueryBuilder('j')->select('partial j.{id,slug,issn,image,totalArticleView,totalArticleDownload,founded}, partial i.{id,slug}')->join('j.publisher', 'i')->andWhere('j.status = :status')->setParameter('status', JournalStatuses::STATUS_PUBLISHED)->setFirstResult(rand(0, $this->getJournalCount()))->setFirstResult($cachedOffset)->setMaxResults(12)->getQuery()->useQueryCache(true)->useResultCache(true, 3600)->getResult(Query::HYDRATE_OBJECT);
return $list;
}