redis vs ネイティブセッション 質問する

redis vs ネイティブセッション 質問する

私は、ユーザーがログインしているかどうかを追跡するために PHP でセッションを使用しています。ユーザーに関するその他のデータを保存するのには使用していません。基本的には、ハッシュ テーブルをチェックしてユーザーが認証されているかどうかを確認するようなものです。

ネイティブ PHP セッションの代わりに Redis を使用すると何か利点がありますか?

パフォーマンス、スケーラビリティ、セキュリティに興味があります (コードの複雑さについてはあまり関心がありません)。

ベストアンサー1

セッションを保存するために Redis のようなものを使用することは、負荷分散されたサーバーからより高いパフォーマンスを得るための優れた方法です。

たとえば、Amazon Web Services では、ロード バランサーに「スティッキー セッション」と呼ばれるものがあります。これは、ユーザーが最初に Web アプリに接続するとき (たとえば、ログインするとき)、ロード バランサーがアプリ サーバーの 1 つを選択し、このユーザーはアプリケーションを終了するまでこのサーバーから引き続きサービスを受けます。これは、たとえば PHP によって使用されるセッションが、最初に使用を開始したアプリ サーバーに保存されるためです。

ここで、別のサーバーで Redis を使用し、各アプリケーション サーバーの PHP を設定してセッションを Redis に保存すると、この「スティッキー セッション」をオフにすることができます。これにより、どのサーバーでもセッションにアクセスでき、ユーザーはアプリケーションへのリクエストごとに別のサーバーからサービスを受けることができます。これにより、最終的には負荷分散設定をより効率的に使用できるようになります。

おすすめ記事