Laravel + Momento Cacheをセットアップする
Laravelは、PHPの開発フレームワークとして非常に人気があります。Laravelは、エレガントな構造、豊富な機能、迅速かつ効率的に仕事を成し遂げるための優れたエコシステムで知られています。
Laravelの多くの特長の1つは、cacheバックエンド用の統一APIです。これにより、Laravelアプリは、どのcacheバックエンドを使用しているかの詳細を気にすることなく、あらゆる使用頻度の高いデータをcacheすることができます。また、コードに変更を加えることなく、異なるcacheバックエンドを切り替えることができます!
Laravelは、MemcachedやRedisなどのcacheバックエンドをサポートしています。そこで、MomentoはLaravel Cache APIの実装を提供することで、cacheクラスタの管理を気にすることなく、cacheの利点をすべて手に入れることができます!Momento Cacheの柔軟な構造とサーバーレスな 特性は、Laravelのcacheワークフローに最適な選択です。
このガイドでは、LaravelとLaravel Momento Cacheプラグインをインストールして設定し、WebアプリとAPIを構築します。
詳しくはMomento Laravelのcacheリポジトリ をご覧ください。
Laravel + Momentoアプリケーションの例
Momentoのcacheを使用したLaravelアプリの例をご覧になりたい方は Momento Laravel Example Appをご覧ください!このgit repoには、すべての動作サンプルアプリケーションが用意されています。このアプリケーションは、OpenWeatherから天気データを取得するWebサービスです。Momentoに天気データをcacheすることで、その後のリクエストをより迅速に処理できるようになります。
Laravelプロジェクトのセットアップ
条件
- Momento API Keyが必要です。Momento Console](https://console.gomomento.com/)を使って生成できます。
- PHP 8.0 以降のインストール
- Laravel 9.x以降のインストール
- gRPC PHP 拡張 のインストール
- protobuf C拡張のインストール
Laravel + Momentoのパッケージの設定
composer.json
ファイルに弊社リポジトリを追加し、依存関係として弊社SDKを追加します:
{
"require": {
"momentohq/laravel-cache": "1.0.1"
}
}
composer update
を実行して、必要な前提条件をインストールします。
次にMomentoServiceProvider
をconfig/app.php
に追加します:
'providers' => [
// ...
Momento\Cache\MomentoServiceProvider::class
];
最後に、config/cache.php
に必要な設定を追加します:
'default' => env('CACHE_DRIVER', 'momento'),
'stores' => [
'momento' => [
'driver' => 'momento',
'cache_name' => env('MOMENTO_CACHE_NAME'),
'default_ttl' => 60,
],
],
必要な条件をインストールするために、もう一度composer update
を実行します。
タグサポート
cacheタグは、Laravel マニュアルで説明されているのと同じように動作します。
:::備考
タグに4MB以上のキーが含まれる場合は、意図したとおりにタグ付けができない可能性があります。詳しくは、弊社までお問い合わせください!
:::
上限
以下のLaravelのcache操作は、現在サポートされていません。
- many
- putMany
- decrement
- forever
- flush
これらの操作が必要な場合は、弊社までご連絡いただければ、優先的に追加するよう努めます。GitHub issueを作成いただくか、support@momentohq.com までメールをお送りいただくか、弊社のDiscordに参加していただくことができます。