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

php中世界最好的语言
リリース: 2023-03-26 10:30:01
オリジナル
2016 人が閲覧しました

今回は、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数据步骤详解

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!

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

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

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