teamneusta / elasticcache
elastic cache backend
Installs: 9 167
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 11
Forks: 1
Open Issues: 0
Type:typo3-cms-extension
Requires
- php: >=8.0
- ruflin/elastica: ^7.0
- typo3/cms-core: ^11.5 || ^12.4
README
Provides a cache backend for TYPO3 which enables storing caches in elasticsearch.
Prerequisites
- Currently only tested with elasticsearch 2.x
- The "delete-by-query" plugin needs to be installed (see https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html)
Installation
composer require teamneusta/elasticcache
Configuration
Add a section to your local configuration configuring the cache. You can either reconfigure existing caches or add a new one for your own use. For more general information see the caching framework documentation (at https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/CachingFramework/Index.html#caching)
The following options can be set:
host
: The elasticsearch host name (defaults tolocalhost
)port
: The elasticsearch port (defaults to9200
)path
: The elasticsearch path (defaults to/
)transport
: The elasticsearch transport protocol (defaults tohttp
)indexName
: The index name to use for this cache - make sure to choose a different one per cachetypeName
: The type name to use for this indexindexConfiguration
: The path to index configuration where you can set alternating mappings and analyzersdefaultLifeTime
: The default lifetime of a cache entry in this cache (in seconds - 0 means unlimited)
Example
'SYS' => [
'caching' => [
'cacheConfigurations' => [
'my_cache' => [
'backend' => 'TeamNeusta\\Elasticcache\\Cache\\Backend\\ElasticsearchBackend',
'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend',
'options' => [
'defaultLifetime' => 0,
'indexName' => 'my_cache_index_name'
'typeName' => 'my_cache_type_name'
'indexConfiguration' => 'EXT:myext/Configuration/Elastic/indexConfiguration.yaml'
],
],
],
],
Issues and Feedback
If you run into any issues, want to contribute or just give feedback, just use the github issue tracker.
Known issues
With TYPO3 10.0 the StringFrontend
has been removed after being deprecated in TYPO3 9.2.
It is recommended to use the VariableFrontend
instead.
However, the VariableFrontend
serializes the cache input per default unless the corresponding cache backend implements
the TransientBackendInterface
. To this extend the elasticcache-extension changes to the use of the TransientBackendInterface
with v2.0 to allow insertion of valid json for cross-platform usage.