メインコンテンツまでスキップ

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 CLIを使用して作成することができます。
  • PHP 8.0以降のインストール
  • Laravel 9.x以降のインストール
  • gRPC PHPエクステンションのインストール
  • Composerのインストール - PHPの共通ライブラリおよび依存関係管理ツール

Laravel + Momentoのパッケージの設定

composer.json ファイルに弊社リポジトリを追加し、依存関係として弊社SDKを追加します:

{
"require": {
"momentohq/laravel-cache": "1.0.1"
}
}

composer updateを実行して、必要な前提条件をインストールします。

次にMomentoServiceProviderconfig/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に参加していただくことができます。