teamneusta / elasticcache
弹性缓存后端
8.0.0
2023-09-05 13:06 UTC
Requires
- php: >=8.0
- ruflin/elastica: ^7.0
- typo3/cms-core: ^11.5 || ^12.4
README
为TYPO3提供缓存后端,允许将缓存存储在Elasticsearch中。
先决条件
- 目前仅与Elasticsearch 2.x进行了测试
- "delete-by-query" 插件需要安装(见https://elastic.ac.cn/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html)
安装
composer require teamneusta/elasticcache
配置
将配置缓存的部分添加到您的本地配置中。您可以重新配置现有的缓存或添加一个用于您自己的新缓存。有关更多信息,请参阅缓存框架文档(见https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/CachingFramework/Index.html#caching)
可以设置以下选项
host
:Elasticsearch的主机名(默认为localhost
)port
:Elasticsearch的端口号(默认为9200
)path
:Elasticsearch的路径(默认为/
)transport
:Elasticsearch的传输协议(默认为http
)indexName
:用于此缓存的索引名称 - 确保每个缓存选择一个不同的名称typeName
:用于此索引的类型名称indexConfiguration
:索引配置的路径,您可以在其中设置交替映射和分析器defaultLifeTime
:此缓存中缓存条目的默认生存期(以秒为单位 - 0表示无限期)
示例
'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'
],
],
],
],
问题和反馈
如果您遇到任何问题,想要贡献或只是提供反馈,请使用github问题跟踪器。
已知问题
在TYPO3 10.0中,已经删除了StringFrontend
,这是在TYPO3 9.2中弃用的之后。
建议使用VariableFrontend
。然而,默认情况下,VariableFrontend
会序列化每个缓存输入,除非相应的缓存后端实现了TransientBackendInterface
。为了这一目的,elasticcache-extension从v2.0开始更改了对TransientBackendInterface
的使用,以允许插入有效的json以实现跨平台使用。