これは、セッションとセッションの使用を動作します

いくつかの並べ替えを行うために、今日ここに、それは使用するためのセッションを総括するための良い方法をされていないと、それは動作しますが、データを格納するためのセッションを使用してきました。  

ここでは主にPHP言語に基づいており、他の言語の操作が異なる場合がありますが、基本的な原則は変わりません。

1. PHPでどのように動作セッション:

session_start(); //オープンセッション機能機能を使用して

$ _SESSION //は、事前定義されたグローバル変数の操作データを使用します

設定を解除($ _セッション[「キーを」])を使用します//セッションの値を破壊します

操作が簡単、すべてがサーバーによって実装されます。デュー・プロセスはバックグラウンドで、すべてのものは非常に安全なように見えました。しかし、セッションは何のメカニズムを使用して、どのように実装され、そしてどのようにそれのセッションを保持するために?

2.session達成した作品

HTTPブラウザとサーバは、クライアントの状態を維持し、この目的を達成するためにセッションを使用するためには、ステートレスな通信を使用しています。しかし、このサービスは、エンドがどのように異なるクライアントやユーザーの一種であるマーク?

あなたはパーティーに出席した場合、ここで多くの人々に会った、あなたはあまりにも異なる人々の間で区別するためにどのような方法を取るだろう、我々が使用することができます人生の一例です!あなたは顔に応じて、ユーザーの名前、または一意のラベルを使用する人のIDカード、に従っても可能です。セッションのメカニズムでは、このようなもユニークなSESSION_ID異なるユーザーを指定するために使用される、違いがある:ブラウザがサーバーによってそれぞれの要求は、それが発生もたらすセッション_。

簡単に言えば、プロセスを説明します。マークsession_idのセッションは、クライアントのブラウザに渡されながら、クライアントアクセスサーバー、需要のセッションに応じて設定されたサーバーは、サーバー上のセッション情報を保存すると、ブラウザは、(メモリに保存されSESSION_IDになりますこのように、我々は、非クッキーの有効期限を呼び出す)URLへの書き込みなど、他の保存方法は、あります。ブラウザが閉じられた後に、クッキーを離れてクリアされ、それがユーザーのCookieには、一時ファイルません。

各時間後にブラウザ要求は、このパラメータの付加価値を追加し、その後、SESSION_IDに係るサーバは、クライアントのデータの状態を取得することができるようになります。

クライアントのブラウザが予期せず終了した場合は、サーバーのセッションに格納されたデータをすぐに解放されていない場合、データがある限り、我々はそのSESSION_IDを知っているように存在し続けるだろう、あなたが尋ねることによって、このセッションに関する情報を受信し続けることができます。しかし、今回のセッションの背景があり、しかし、セッションは時間が指定されたクライアントの要求を超えなかったら、彼はセッションをクリアするだろう、有効期限を保存しています。

ここではいくつかの記憶メカニズムセッション、デフォルトのセッションがファイルに保存され、セッションデータを保存する方法であるファイルです。PHPで主にセッションを保存する方法を選択するために、構成session.save_handlerのphp.iniのに基づきます。

ここでちなみに、サーバはLVSは、それが複数のサーバであり、我々は一般的にmemcachedの方法でセッションを使用しない場合、それ以外の場合は、いくつかの要求につながるセッションを見つけることができません。

シンプルmemcacheの設定:

session.save_handler = memcacheの

session.save_pathは= "TCP://10.28.41.84:10001"

もちろん、我々はファイルのキャッシュファイルを使用する必要がある場合、我々はNFS用のファイルができ、一つの場所に保存されたすべてのセッションファイルを検索します。ただ、ここで我々はまた、ユーザーのURLに格納するパラメータを設定することができ、最終的にメモリに保存されているバックのユーザーのセッションIDに話します。

リンク:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g  抽出コード:x2p5

Xの共有すること自由に、しかし重大な制約、リンクをクリックするか、リンクが検索に加えて、集団グループ番号失敗する936 682 608

問題の3例

従来のシステムでは、Bは、で変わらずに維持しながら、すなわち、直接ブラウザセッション、Bモバイルシステムは、システムのインタフェース機能を呼び出す必要に基づいて処理することができ、システムは、独立して、ウェブシステムの実行することができると仮定する下、すなわち、ログイン認証、セッションが同じ場合には格納され、システムのBフロントエンドは、ユーザの要求を処理することができます。本明細書で提供される溶液は、ログインに成功するとPHPを使用して実装され、セッションは、他のすべての要求のSESSION_IDバックセッションIDのB系、B系とインターフェースに保存されます。

session_startのSESSION_ID(SESSION_ID)を添加する前にシステム;
このようなシステムを確保することができるがBを呼び出し

セッション機能だけでなく

session_cache_expire - 現在のキャッシュが期限切れに戻ります

session_cache_limiter - 取得および/または現在のキャッシュリミッタを設定します

session_commit - session_write_closeの別名

session_decode - 文字列からセッションデータをデコード

session_destroy - セッションに登録されているすべてのデータを破壊します

session_encode - 現在のセッションデータを文字列として符号化します

session_get_cookie_params - セッションクッキーのパラメータを取得します

SESSION_ID - 取得および/または現在のセッションIDを設定します

session_is_registered - グローバル変数がセッションに登録されているかどうかを調べます

session_module_name - 取得および/または現在のセッションモジュールを設定します

セッション名 - 取得および/または現在のセッション名を設定します

session_regenerate_id - 新しく生成された1で現在のセッションIDを更新

session_register - 現在のセッションに1つの以上のグローバル変数を登録

session_save_path - 取得および/または現在のセッションデータ保存パスを設定します

session_set_cookie_params - セッションクッキーパラメータを設定します

session_set_save_handler - ユーザ定義のセッション保存関数を設定します

session_start - セッションデータを初期化します

session_unregister - 現在のセッションから変数の登録を解除

session_unset - 全てのセッション変数

session_write_close - セッションデータを書き込んでセッションを終了します

おすすめ

転載: www.cnblogs.com/it-3327/p/11727114.html