ホームページ >バックエンド開発 >PHPチュートリアル >LaravelでRedisを使用してWebサイトのキャッシュ読み取りを実装するための実装手順の詳細な説明

LaravelでRedisを使用してWebサイトのキャッシュ読み取りを実装するための実装手順の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-17 13:54:242046ブラウズ

今回は、laravelでRedisを使用してWebサイトのキャッシュ読み取りを実装する手順について詳しく説明します。laravelでRedisを使用してWebサイトのキャッシュ読み取りを実装する場合の注意事項は何ですか。見て。

redis の概要

Redis は完全にオープンソースで無料で、BSD プロトコルに準拠しており、高性能のキーと値のデータベースです。 Redis およびその他のキー値キャッシュ製品には、次の 3 つの特徴があります。 Redis はデータ永続性をサポートしています。これにより、データをディスク上のメモリに保持し、再起動時に再ロードして使用できます。


Redis は、単純なキーと値の型のデータをサポートするだけでなく、リスト、セット、zset、ハッシュなどのデータ構造のストレージも提供します。

Redis はデータ バックアップ、つまりマスター/スレーブ モードでのデータ バックアップをサポートしています。

Redis の利点

    非常に高いパフォーマンス - Redis は 110,000 回/秒の速度で読み取り、81,000 回/秒の速度で書き込みます。
  • 豊富な
  • データ型

    – Redis は、バイナリの場合の文字列、リスト、ハッシュ、セット、および順序付けセットのデータ型操作をサポートします。

  • アトミック - Redis のすべての操作はアトミックであり、Redis は複数の操作をマージした後のアトミック実行もサポートしています。
  • 豊富な機能 – Redis は、パブリッシュ/サブスクライブ、通知、キーの有効期限などの機能もサポートしています。

redis のインストール方法1. Ubuntu (Homestead 環境を使用しており、仮想マシンは Ubuntu であるため、この方法のみを使用してインストールしました。Windows の場合は、http にアクセスしてください) ://www.redis. net.cn/tutor または http://www.jb51.net/article/84071.htm... )

公式の Ubuntu インストール方法

$sudo apt-get update
$sudo apt-get install redis-server

私の Web サイトは laravel フレームワークを使用しているため、 Composer を使用する必要があります メソッドのインストール

composer require predis/predis

lumen マイクロフレームワークをインストールしている場合は、illuminate/redis (5.2.*) もインストールする必要があります

composer require illuminate/redis (5.2.*)

設定 lumen をインストールしている場合は

//需要在bootstrap/app.php里面加入此段代码
$app->register(Illuminate\Redis\RedisServiceProvider::class);
$app->configure('database');

Redis は次のことを行うことができますメインデータベースとして使用されるため、Laravel の Redis 構成情報は config/database.php にあります。

'redis' => [
'cluster' => false,
'default' => [
 'host' => '127.0.0.1',
 'port' => 6379,
 'database' => 0,
],
],

クラスター オプションは、複数の Redis ノード間でシャーディングを実行するかどうかを示します。ここでは、ローカルで 1 つのノードのみをテストするため、設定します。それを false にします。

デフォルトのオプションは、デフォルトの Redis ホスト接続を示します。ここで、Redis と Web サーバーは同じホストを共有するため、ホストは 127.0.0.1 で、デフォルトの Redis ポートは 6379 です。

さらに、デフォルトのオプションでは、(必要に応じて) より多くの接続パラメータもサポートされています:

パラメータ意味ホストポートパスワードデータベース選択済み接続時データベースインデックスタイムアウトread_write_timeoutシステムのデフォルト(タイムアウトに制限がない場合は-1に設定してください)

read_write_timeout |通过网络连接进行读写操作的超时时间 |系统默认(不限制超时时间的话设置为-1)

另外Redis如果是作为缓存工具,还需要在config/cache.php配置redis选项:

'redis' => [
'driver' => 'redis',
'connection' => 'default',
],

这里的connection对应config/database中redis的默认主机default配置。

完成上述配置之后我们就可以在应用代码中使用Redis进行数据存取了。

看一个实例————laravel的mysql与Redis搭配

我的想法是在读取的时候会先去缓存中去查找,如果找到那就大吉大利了,找不到再去数据库中查找并且调到缓存中。

 if (Cache::has($key)){    //首先查寻cache如果找到
  $values = Cache::get($>key); //直接读取cache
  return $values;
 }else{         //如果cache里面没有  
  $values = DB::select($sql);
  Cache::put($key,$value,$time);
  return $values;
 }

但是laravel的cache还提供了个remember函数

 $values = Cache::remember($key,$time,function () {
   return DB::select($this->sql);
  });

如果缓存有直接读取并返回,如果缓存项在缓存中不存在,则返回给 remember 方法的闭包将会被运行,而且闭包的运行结果将会被存放在缓存中。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

php微信模板消息推送步骤详解

PHP动态添加XML数据步骤详解

デフォルト値
サーバーIPアドレス/ホスト名 127.0.0.1
Redisサーバーのリスニングポート番号 6379
サーバーが認証パスワードを必要とする場合 パスワードを使用しないでください

インデックスが設定されていません

Redisサーバーへの接続タイムアウト
5秒
ネットワーク接続を介した読み取りおよび書き込み操作のタイムアウト

以上がLaravelでRedisを使用してWebサイトのキャッシュ読み取りを実装するための実装手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。