使用TYPO3-cache存储值

时间:2015-12-16 13:47:48

标签: php caching typo3 extbase

有没有办法将typo3缓存用于我的一个extbase扩展中生成的数据?我有一个脚本来生成导航,这是相当复杂但不应该改变太多,所以在得到一个结果后我真的想用typo3来存储它(当有人点击"刷新所有缓存"按钮它也应该刷新)。

这可能吗?如果是这样 - 怎么样?

1 个答案:

答案 0 :(得分:0)

TYPO3为此类任务提供了缓存框架。

可以在https://docs.typo3.org/typo3cms/CoreApiReference/CachingFramework/Index.html

找到该文档

这是一个小例子,可以用作你的代的包装器:

public function generateMenu(array $pageUids)
{
    $cache = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager')
        ->getCache('fashionesta_newsletter');
    $cacheIdentifier = md5(implode($pageUids));

    $menu = $cache->get($cacheIdentifier);
    if($menu !== false) {
        return $menu;
    }

    // Generation logic

    $cache->set($cacheIdentifier, $menu, array(), 60 * 5);
    return $menu;
}