PHPackages                             pluswerk/cache-automation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. pluswerk/cache-automation

Abandoned → [andersundsehr/cache-automation](/?search=andersundsehr%2Fcache-automation)ArchivedTypo3-cms-extension[Caching](/categories/caching)

pluswerk/cache-automation
=========================

+Pluswerk TYPO3 extension: Cache Automation - This TYPO3 extension clear caches automated in the right moment.

3.0.0(1y ago)48.6k3[1 PRs](https://github.com/pluswerk/cache_automation/pulls)GPL-3.0+PHPPHP ~8.2.0 || ~8.3.0

Since Jul 26Pushed 1y ago7 watchersCompare

[ Source](https://github.com/pluswerk/cache_automation)[ Packagist](https://packagist.org/packages/pluswerk/cache-automation)[ Docs](https://www.pluswerk.ag/)[ RSS](/packages/pluswerk-cache-automation/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (8)Dependencies (4)Versions (16)Used By (0)

Deprecated
==========

[](#deprecated)

> .
> .
> .
> .
> Use [andersundsehr/cache-automation](https://github.com/andersundsehr/cache-automation) instead
> .
> .
> .
> .
> .
> .
> .

[![Packagist Release](https://camo.githubusercontent.com/bcb5aded34964fb2a64261dd2364acb16d78a3823e0df544a85eb82f0c84946c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f706c75737765726b2f63616368652d6175746f6d6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/pluswerk/cache-automation)[![Travis](https://camo.githubusercontent.com/2de2823cb167dea3a5eb3012ad6393fc8554a8207dfd52cc7848b1313112190d/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f706c75737765726b2f63616368655f6175746f6d6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/pluswerk/cache_automation)[![GitHub License](https://camo.githubusercontent.com/fecafa3f348bc98e9298d44dcd414c78fba8b6202b456aacd50b137b4aa598ec/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f706c75737765726b2f63616368655f6175746f6d6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/pluswerk/cache_automation/blob/master/LICENSE.txt)[![Code Climate](https://camo.githubusercontent.com/4312646bf466d0d8e6b60089f06a9bfe4944f27f4b26c8a148ec13622c00afb0/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636c696d6174652f6769746875622f706c75737765726b2f63616368655f6175746f6d6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://codeclimate.com/github/pluswerk/cache_automation)

TYPO3 Extension: Cache Automation
=================================

[](#typo3-extension-cache-automation)

This TYPO3 extension clear caches automated in the right moment. This happens by some magic configuration of your extension.

Example:

With this TYPO3 extension you can cache for example an extbase "list and show" plugin. If a database record is updated the cache of all pages containing this plugin will be flushed.

You can write your own magic cache agent.

Requires TYPO3 8.7 up to TYPO3 9

Issue tracking: [GitHub: TYPO3 Cache Automation](https://github.com/pluswerk/cache_automation/issues)

Packagist: [pluswerk/cache-automation](https://packagist.org/packages/pluswerk/cache-automation)

Installation
------------

[](#installation)

1. Install the TYPO3 extension via composer

> Composer installation:
>
> ```
> composer require pluswerk/cache-automation
> ```

Configuration
-------------

[](#configuration)

### Configure cache agent

[](#configure-cache-agent)

Configure a cache agent for your extension in your `ext_localconf.php`.

> A cache agent is triggered, if a database record of the given tables has changed.

Example:

```
\Pluswerk\CacheAutomation\Service\Configuration::getInstance()->addAgentForTables(
    ['tx_news_domain_model_news'], // database table name
    \Pluswerk\CacheAutomation\Agents\SimplePluginAgent::class, // cache agent
    [
        // cache agent configuration
        'pluginKeys' => ['news_pi1'],
    ]
);
```

### Available cache agents

[](#available-cache-agents)

#### SimplePluginAgent

[](#simplepluginagent)

This agent flush the cache of all pages which have a content element with the given plugin keys.

```
\Pluswerk\CacheAutomation\Service\Configuration::getInstance()->addAgentForTables(
    ['tx_news_domain_model_news'],
    \Pluswerk\CacheAutomation\Agents\SimplePluginAgent::class,
    [
        'pluginKeys' => ['news_pi1'],
    ]
);
```

#### PageRootlineAgent

[](#pagerootlineagent)

This agent flush the cache of all pages which are in the TYPO3 "rootline" of the given pages.

```
\Pluswerk\CacheAutomation\Service\Configuration::getInstance()->addAgentForTables(
    ['tx_news_domain_model_news'],
    \Pluswerk\CacheAutomation\Agents\PageRootlineAgent::class,
    [
        'rootPages' => [42, 316],
        'depth' => 99, // optional
        'begin' => 0, // optional
    ]
);
```

Use your own cache agent
------------------------

[](#use-your-own-cache-agent)

You can simply use your own cache agent. It has to implement `\Pluswerk\CacheAutomation\Agents\AgentInterface`:

```
class MyMagicCacheAgent implements \Pluswerk\CacheAutomation\Agents\AgentInterface
{
    public function getExpiredPages(string $table, int $uid, array $agentConfiguration, array $changedFields): array
    {
        // doe some magic here and return all page uid's which caches should be flushed
        return [42, 316];
    }
}
```

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity86

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~258 days

Recently: every ~294 days

Total

11

Last Release

637d ago

Major Versions

1.3.2 → 2.0.12023-07-20

2.0.1 → 3.0.02024-08-19

PHP version history (4 changes)1.2.0PHP &gt;=7.1

1.3.0PHP &gt;=7.2

2.0.1PHP ~8.2.0

3.0.0PHP ~8.2.0 || ~8.3.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/471387?v=4)[Matthias Vogel](/maintainers/Kanti)[@Kanti](https://github.com/Kanti)

![](https://www.gravatar.com/avatar/ce27306c234536251754f00414959671d4a775e9cf57cce2f5ea1dca158183d6?d=identicon)[andersundsehr](/maintainers/andersundsehr)

---

Top Contributors

[![zhangsinian](https://avatars.githubusercontent.com/u/29774837?v=4)](https://github.com/zhangsinian "zhangsinian (13 commits)")[![Kanti](https://avatars.githubusercontent.com/u/471387?v=4)](https://github.com/Kanti "Kanti (12 commits)")[![CristinaCutus](https://avatars.githubusercontent.com/u/31534562?v=4)](https://github.com/CristinaCutus "CristinaCutus (6 commits)")[![Lagerregal](https://avatars.githubusercontent.com/u/2297740?v=4)](https://github.com/Lagerregal "Lagerregal (6 commits)")[![weakbit](https://avatars.githubusercontent.com/u/12049749?v=4)](https://github.com/weakbit "weakbit (5 commits)")[![dogawaf](https://avatars.githubusercontent.com/u/381969?v=4)](https://github.com/dogawaf "dogawaf (1 commits)")[![CuCris](https://avatars.githubusercontent.com/u/118721146?v=4)](https://github.com/CuCris "CuCris (1 commits)")

---

Tags

cachephptypo3typo3-cachetypo3-cms-extensiontypo3-extension

### Embed Badge

![Health badge](/badges/pluswerk-cache-automation/health.svg)

```
[![Health](https://phpackages.com/badges/pluswerk-cache-automation/health.svg)](https://phpackages.com/packages/pluswerk-cache-automation)
```

###  Alternatives

[lochmueller/staticfilecache

Transparent static file cache solution using mod\_rewrite and mod\_expires. Increase performance for static pages by a factor of 230!!

1311.3M3](/packages/lochmueller-staticfilecache)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

20229.9k](/packages/eliashaeussler-typo3-warming)[b13/distributed-locks

Adds a Redis Locking Strategy for TYPO3 frontend page generation, useful on distributed systems with NFS.

13248.2k](/packages/b13-distributed-locks)[bnf/nginx-cache

NGINX Cache Manager for TYPO3

243.7k](/packages/bnf-nginx-cache)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
