memcache 同期セッションの手順 (この記事では PHP の例が使用されていますが、原理は Java と同じです)
Memcache 同期セッション方式 (この記事では PHP の例を使用していますが、原理は Java と同じです)
以前に Windows Server 2003 ネットワーク負荷分散システムの構成方法について説明しましたので、サーバー クラスターを構成した後、 Web アーキテクチャでは、セッションの共有と同期の問題を考慮する必要があります。想像してみてください。負荷分散システムの同じ Web ページにアクセスする同じ IP が異なるサーバーに割り当てられ、セッションが同期されていない場合、同じログイン ユーザーに対してはログイン状態になり、その後、ログインステータスの問題ではありません。
この問題に対する 3 つの解決策を参考までに示します。
1. データベース同期セッションを使用する
マルチサーバー セッションの同期を行う場合は、この方法を使用しませんでした。
1. ローエンドのコンピューターを使用して、Web サーバーのセッションを保存するためのデータベースを構築するか、ユーザーが Web にアクセスするときにこの特別なデータベースをファイル サーバー上に構築します。サーバーは、セッション同期の目的を達成するために、この特別なデータベースにアクセスしてセッションのステータスを確認します。
2. この方法では、セッション ストレージ テーブルを他のデータベース テーブルと一緒に配置します。mysql もクラスター化されている場合、各 mysql ノードにはこのテーブルが必要であり、このセッション テーブルのデータ テーブルはリアルタイムで同期されます。
注: データベースを使用してセッションを同期すると、データベースの負荷が増大します。データベースにセッションを置くと、間違いなく状況が悪化します。上記の 2 つの方法のうち、最初の方法の方が優れています。これにより、セッションが保存されるテーブルが分離され、実際のデータベースへの負担が軽減されます
2 つ目は、Cookie を使用してセッションを同期します
セッションは、サーバー側ではファイルの形式で Cookie がクライアントに保存されます。同期を実現するにはどうすればよいですか?方法は非常に簡単で、Cookie を転送ステーションとして使用し、ユーザーのページへのアクセスによって生成されたセッションを Cookie に格納します。 Web サーバー A にアクセスすると、セッションが生成され、Cookie に保存されます。このとき、Web サーバー B はまずサーバーにセッションがあるかどうかを判断し、セッションがない場合はクライアントのセッションを確認します。存在しない場合は、セッションが実際に存在しないことを意味し、Cookie 内のセッションを Web サーバー B に同期して、セッションを同期できるようにします。
注: この方法は実装が簡単で便利であり、データベースへの負担は増加しません。ただし、クライアントが Cookie を無効にすると、セッションが同期されなくなり、Web サイトの Cookie のセキュリティが失われます。暗号化されていますが、それでも偽造可能です。
3. memcache を使用してセッションを同期する
Memcache はこの機能を持たない場合、セッションの同期に使用できません。 Web サーバー内のメモリを組み合わせて「メモリ プール」を形成できます。どのサーバーがセッソインを生成しても、この「メモリ プール」に配置することができ、他のサーバーを使用することもできます。
利点: この方法でセッションを同期すると、データベースの負荷が増加せず、Cookie を使用する場合と比較してセキュリティが大幅に向上します。セッションをメモリに保存する方が、ファイルから読み取るよりもはるかに高速です。
欠点: memcache はメモリをさまざまな仕様のストレージ ブロックに分割します。この方法では、memcache がメモリを完全に利用できないと判断され、ストレージ ブロックが不足するとメモリの断片も生成されます。 .オーバーフロー。
4. 概要
上記の 3 つの方法はすべて実行可能です
最初の方法はシステム速度に最も影響を与えるため、お勧めできません。
2 番目の方法は効果的ですが安全です
3 番目の方法。個人的には 3 番目の方法が最良だと考えており、皆さんにお勧めします。
5. Web クラスターでセッションを同期するには memcache を使用します
セッションを同期するには memcache を使用するのが最善だと思います
1. Web クラスターをシミュレートします
2 つの memcached プロセスを開始しました。 、2 つのサーバーをそれぞれシミュレートします
/usr/local/bin/memcached-d-m1024-c3000-uuenucom-p12000-P./memcached.pid
/usr/local/bin/memcached-d-m1024 -c3000 -uuenucom-p13000-P./mem.pid
2. PHP 構成を変更します
vi/usr/local/php/lib/php.ini
session.save_handler=“memcache”
memcache .hash_strategy=“consistent”
session.save_path=“tcp://127.0.0.1:13000?weight=10,tcp://127.0.0.1:12000″
説明: 最初の行、セッション ストレージメソッドは memcache です。2 行目は memcache のハッシュ アルゴリズムです。3 行目はセッションが保存されている場所です。
View phpinfo
SessionSupportenabled >Registeredsavehandlersfilesusersqlitememcache
Registeredserializerhandlersphpphp_binary
次は
session.save_pathtcp://127.0.0.1:13000,tcp://127.0.0.1:12000
4. 簡単なテストを実行します
a)準備ファイル session.php
PHP コード
session_start();
$_SESSION['username']=“abcabc”;echosession_id()> 🎜 >b) セッションコンテンツファイルを表示
PHP コード
$mem=newMemcache
$mem->addServer("127.0.0.1",12000)ordie("Couldnotaddserver12000");
$mem->addServer("127.0.0.1",13000)ordie("Couldnotaddserver13000"); $val=$mem->get('qp0mrob2ovcqle3u4lbr4obsa5');
//echosession_id();
echo$val
?> 結果は username|s:6 です。 : "abcabc";
?
転載:
?http://blog.itpub.net/27042095/viewspace-1218269/

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

iOS 17 では、Apple はモバイル オペレーティング システムにいくつかの新しいプライバシーおよびセキュリティ機能を導入しました。その 1 つは、Safari のプライベート ブラウジング タブに対して 2 段階認証を要求する機能です。その仕組みとオフにする方法は次のとおりです。 iOS 17 または iPadOS 17 を実行している iPhone または iPad では、Safari でプライベート ブラウズ タブを開いていて、再度アクセスするためにセッションまたはアプリを終了する場合、Apple のブラウザでは Face ID/Touch ID 認証またはパスコードが必要になります。言い換えれば、ロックが解除されている iPhone または iPad を誰かが手に入れても、パスコードを知らなければプライバシーを閲覧することはできません。

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

インターネットの普及により、ブラウザを使用してインターネットを閲覧することが生活様式になりました。ブラウザを日常的に使用する中で、オンラインショッピング、ソーシャルネットワーキング、電子メールなど、アカウントのパスワードを入力する必要がある場面に遭遇することがよくあります。この情報は、次回アクセスするときに再度入力する必要がないようにブラウザによって記録される必要がありますが、このような場合に Cookie が役に立ちます。クッキーとは何ですか? Cookie とは、サーバーからユーザーのブラウザに送信され、ローカルに保存される小さなデータ ファイルを指し、一部の Web サイトでのユーザーの行動が含まれています。

document.cookie が取得できない場合の解決策: 1. ブラウザのプライバシー設定、2. 同一オリジン ポリシー、3. HTTPOnly Cookie、4. JavaScript コード エラー、5. Cookie が存在しないか期限切れ、6. クロスドメインの問題、7 . ビューアモード; 8. サーバーの問題; 9. JavaScript 実行タイミング; 10. コンソールログなどを確認します。

Cockpit は、Linux サーバー用の Web ベースのグラフィカル インターフェイスです。これは主に、初心者/熟練ユーザーにとって Linux サーバーの管理を容易にすることを目的としています。この記事では、Cockpit アクセス モードと、CockpitWebUI から Cockpit への管理アクセスを切り替える方法について説明します。コンテンツ トピック: コックピット エントリ モード 現在のコックピット アクセス モードの確認 CockpitWebUI からコックピットへの管理アクセスを有効にする CockpitWebUI からコックピットへの管理アクセスを無効にする まとめ コックピット エントリ モード コックピットには 2 つのアクセス モードがあります。 制限付きアクセス: これは、コックピット アクセス モードのデフォルトです。このアクセス モードでは、コックピットから Web ユーザーにアクセスできません。
