class ContentCacheFlusher (View source)

This service flushes Fusion content caches triggered by node changes.

It is called when the projection changes: In this case, it is triggered by {\Neos\Neos\Fusion\Cache\GraphProjectorCatchUpHookForCacheFlushing} which calls this method. This is the relevant case if publishing a workspace

  • where we f.e. need to flush the cache for Live.

The {\Neos\Neos\Fusion\Cache\AssetChangeHandlerForCacheFlushing} also calls this ContentCacheFlusher to flush the caches of all Nodes using a given asset that has changed.

Properties

protected bool $debugMode

Methods

__construct(ContentCache $contentCache, LoggerInterface $systemLogger, ContentRepositoryRegistry $contentRepositoryRegistry, PersistenceManagerInterface $persistenceManager)

No description

void
flushWorkspace(FlushWorkspaceRequest $flushWorkspaceRequest, CacheFlushingStrategy $cacheFlushingStrategy)

Main entry point to flush the caches of a given workspaceName with a given strategy.

void
flushNodeAggregate(FlushNodeAggregateRequest $flushNodeAggregateRequest, CacheFlushingStrategy $cacheFlushingStrategy)

Main entry point to flush the caches of a given NodeAggregate with a given strategy.

void
flushTags(array $tagsToFlush, CacheFlushingStrategy $cacheFlushingStrategy)

Flush caches according to the given tags and strategy.

void
flushTagsImmediately(array $tagsToFlush)

Flush caches according to the given tags immediately.

void
collectTagsForFlushOnShutdown(array $tagsToFlush)

Collect tags to get flushed on shutdown.

array
getAllImplementedNodeTypeNames(NodeType $nodeType)

No description

void
flushCollectedTags()

Flush caches according to the previously registered changes.

void
shutdownObject()

No description

void
emitTagsFlushed(array $tagsToFlush)

Signal that is triggered whenever cache tags get flushed

Details

__construct(ContentCache $contentCache, LoggerInterface $systemLogger, ContentRepositoryRegistry $contentRepositoryRegistry, PersistenceManagerInterface $persistenceManager)

No description

Parameters

ContentCache $contentCache
LoggerInterface $systemLogger
ContentRepositoryRegistry $contentRepositoryRegistry
PersistenceManagerInterface $persistenceManager

void flushWorkspace(FlushWorkspaceRequest $flushWorkspaceRequest, CacheFlushingStrategy $cacheFlushingStrategy)

Main entry point to flush the caches of a given workspaceName with a given strategy.

Parameters

FlushWorkspaceRequest $flushWorkspaceRequest
CacheFlushingStrategy $cacheFlushingStrategy

Return Value

void

void flushNodeAggregate(FlushNodeAggregateRequest $flushNodeAggregateRequest, CacheFlushingStrategy $cacheFlushingStrategy)

Main entry point to flush the caches of a given NodeAggregate with a given strategy.

Parameters

FlushNodeAggregateRequest $flushNodeAggregateRequest
CacheFlushingStrategy $cacheFlushingStrategy

Return Value

void

protected void flushTags(array $tagsToFlush, CacheFlushingStrategy $cacheFlushingStrategy)

Flush caches according to the given tags and strategy.

Parameters

array $tagsToFlush
CacheFlushingStrategy $cacheFlushingStrategy

Return Value

void

protected void flushTagsImmediately(array $tagsToFlush)

Flush caches according to the given tags immediately.

Parameters

array $tagsToFlush

Return Value

void

protected void collectTagsForFlushOnShutdown(array $tagsToFlush)

Collect tags to get flushed on shutdown.

Parameters

array $tagsToFlush

Return Value

void

protected array getAllImplementedNodeTypeNames(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

array

void flushCollectedTags()

Flush caches according to the previously registered changes.

Return Value

void

void shutdownObject()

No description

Return Value

void

protected void emitTagsFlushed(array $tagsToFlush)

Signal that is triggered whenever cache tags get flushed

Parameters

array $tagsToFlush

Return Value

void