Redis分散キャッシュは、複数のサーバSESSIONをリアルタイムで共有する方法です.
1438 ワード
現在,マルチサーバの共有セッションといえば,ほとんどがredisで回答している.redisが複数のサーバ共有セッションを実現することについては,あまり理解できない.1つのサイトがそれぞれA B C 3台のサーバに配備されている場合、彼らのコードは同じです.
まずセッションとクッキーの違いを明確にしなければならない.ブラウザ側に保存されているのは、ブラウザがサービス側に要求するたびにhttpメッセージヘッダに自動的にクッキー情報が追加されます.サービス側はユーザのクッキーをkeyとして記憶して対応するvalue(session)を探す.
同じドメイン名の下のサイトのクッキーは同じです.したがって、複数のサーバにかかわらず、どのサーバに割り当てられた同じユーザのクッキーを無路要求するかは変わらない.つまりクッキー対応のセッションも唯一です.
複数のビジネスサーバが同じredisサーバ(またはクラスタ)にアクセスすることを保証すればよい.
REDISを4台目のサーバDに別途配備し、A B Cの3台のサーバ上のPHP構成接続のREDISはこのDサーバである.統合されたSESSIONのリアルタイム共有を実現し、
PHP設定セッション共有(php.ini構成redis)
PHPを使用している場合はおめでとうございます.構成はとても簡単です.PHPは2行の構成でSessionをMemcachedまたはRedisに保存できます.もちろん、事前に構成しておく必要があります.phpを変更します.ini:
Redisストレージセッションの使用
上のredisのセッション_save_pathのパスは、具体的なipアドレスとして書くことができる.これでセッション共有が実現します.
転載先:https://www.cnblogs.com/hcfinal/p/11043361.html
、redisを使用してセッションを共有します.では、この3台のサーバはどのようにセッションのリアルタイム共有を実現しますか?まずセッションとクッキーの違いを明確にしなければならない.ブラウザ側に保存されているのは、ブラウザがサービス側に要求するたびにhttpメッセージヘッダに自動的にクッキー情報が追加されます.サービス側はユーザのクッキーをkeyとして記憶して対応するvalue(session)を探す.
同じドメイン名の下のサイトのクッキーは同じです.したがって、複数のサーバにかかわらず、どのサーバに割り当てられた同じユーザのクッキーを無路要求するかは変わらない.つまりクッキー対応のセッションも唯一です.
複数のビジネスサーバが同じredisサーバ(またはクラスタ)にアクセスすることを保証すればよい.
REDISを4台目のサーバDに別途配備し、A B Cの3台のサーバ上のPHP構成接続のREDISはこのDサーバである.統合されたSESSIONのリアルタイム共有を実現し、
PHP設定セッション共有(php.ini構成redis)
PHPを使用している場合はおめでとうございます.構成はとても簡単です.PHPは2行の構成でSessionをMemcachedまたはRedisに保存できます.もちろん、事前に構成しておく必要があります.phpを変更します.ini:
session.save_handler = memcache
session.save_path = "tcp://192.168.56.11:11211"
Redisストレージセッションの使用
session.save_handler = redis # file, redis
session.save_path = "tcp://192.168.2.11:6379?auth=passwd" # redis
;session.save_path = "tcp://192.168.2.11:6379" # redis ,
;session.save_path = "tcp://127.0.0.1:6379" # redis ,
上のredisのセッション_save_pathのパスは、具体的なipアドレスとして書くことができる.これでセッション共有が実現します.
転載先:https://www.cnblogs.com/hcfinal/p/11043361.html