Redis
導入
Redis はオープンソースの高度なキー値ストアです。キーに は文字列、ハッシュ、リスト、セット、およびソート済みセットを含めることができるため、データ構造サーバーとしてしばしば言及されます。
LaravelでRedisを使用する前に、PECLを介してPhpRedis PHP拡張機能をインストールして使用することをお勧めします。この拡張機能は、"ユーザーランド"のPHPパッケージよりも複雑にインストールする必要がありますが、Redisを多用するアプリケーションにはより優れたパフォーマンスを提供する可能性があります。Laravel Sailを使用している場合、この拡張機能はすでにアプリケーションのDockerコンテナにインストールされています。
PhpRedis拡張機能をインストールできない場合は、Composerを介してpredis/predis
パッケージをインストールすることができます。Predisは完全にPHPで書かれたRedisクライアントであり、追加の拡張機能は必要ありません:
composer require predis/predis:^2.0
設定
config/database.php
構成ファイルを介してアプリケーションのRedis設定を構成することができます。このファイル内には、アプリケーションで使用されるRedisサーバーを含むredis
配列があります:
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
構成ファイルで定義された各Redisサーバーには、名前、ホスト、およびポートが必要です。Redis接続を表す単一のURLを定義しない限り:
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => 'tcp://127.0.0.1:6379?database=0',
],
'cache' => [
'url' => 'tls://user:password@127.0.0.1:6380?database=1',
],
],