momentohq / drupal-cache
Requires
- momentohq/client-sdk-php: 1.7.1
- dev-main
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-chore/nogrpc
- dev-benchmark-no-logging
- dev-benchmark-1
- dev-disable-dblog
- dev-force-new-channel-false
- dev-cache-name-in-settings
- dev-check-cache-in-client-factory
- dev-add-limits-to-readme
- dev-clear-cache-testing
- dev-remove-unused-invalidator
- dev-interface-work
- dev-invalidation-work
- dev-php7-testing
This package is auto-updated.
Last update: 2024-09-26 21:59:52 UTC
README
先决条件
需要Momento API令牌。您可以使用Momento控制台生成一个。
Momento缓存模块内部使用Momento的PHP SDK。安装Drupal模块将自动为您安装SDK。另外,您还需要安装并启用以下扩展
- PHP gRPC扩展 以使SDK正常工作。
- PHP的C Protobuf扩展。
需要Momento缓存来处理Drupal的缓存请求。您可以在Momento控制台中创建缓存。
Drupal和Momento速率限制
Momento的免费层限制了账户的交易每秒数(TPS)和吞吐量(KiBps),超出这些限制的请求将被限制。虽然默认限制对于探索和开发Momento集成来说是足够的,但在负载下,Drupal对缓存后端的使用可能会显著高于默认的限制。在使用集成于高流量或生产环境之前,请联系support@momentohq.com
以提高您的账户限制。您可以在Drupal dblog和/或您在设置中配置的日志文件中检查速率限制错误消息。
安装和配置
使用以下命令添加模块:composer require 'momentohq/drupal-cache:0.5.2'
。
在您的Drupal管理员界面中启用momento_cache
模块或使用drush en momento_cache
。
将以下内容添加到您的settings.php
文件中
$settings['cache']['default'] = 'cache.backend.momento_cache'; $settings['momento_cache']['api_token'] = '<YOUR_MOMENTO_TOKEN>'; $settings['momento_cache']['cache_name'] = '<YOUR_CACHE_NAME>'; $settings['momento_cache']['logfile'] = '<YOUR_LOG_FILE_PATH>';
将<YOUR_MOMENTO_TOKEN>
替换为控制台中生成的令牌。您还可以使用名为MOMENTO_API_TOKEN
的环境变量将API令牌传递给Momento缓存后端。如果都提供了,则设置文件具有优先权。
将<YOUR_CACHE_NAME>
替换为您的现有Momento缓存名称。您还可以使用名为MOMENTO_CACHE_NAME
的环境变量传递此值。如果都提供了,则设置文件具有优先权。**您必须在使用模块之前创建缓存。**如果缓存不存在,错误信息将记录到Drupal dblog以及您在设置中配置的日志文件中,如果您指定了它。
将<YOUR_LOG_FILE_PATH>
替换为您Drupal服务器可写入的文件路径,或使用null
以抑制日志记录。此日志文件用于记录和处理模块中处理请求时的日志和计时。请注意,此文件会随时间迅速增长,因此如果您选择长期启用它,您可能需要使用logrotate
或类似工具来控制其增长。
上面的示例使用Momento处理所有Drupal缓存。如果您只想使用Momento特定的缓存桶,您也可以单独分配它们:$settings['cache']['bins']['render'] = 'cache.backend.momento_cache'
。