セッション: コンピューター、特にネットワーク アプリケーションでは、「セッション制御」と呼ばれます。この記事では、セッションを Redis に保存する方法を説明します。必要な場合は、急いで学習してください。
PHP のセッションは、デフォルトでは php.ini 設定ファイルに設定されたセッション キャッシュ ディレクトリにファイルとして保存されます。セッションのファイル保存の効率は非常に低く、各ユーザーがログインするたびに、固有の session_id ファイルが生成されます。ユーザーのログイン数が数十万に達すると、サーバー上に数十万のファイルが生成され、ディスク上のセッション ディレクトリの IO の読み取りと書き込みが非常に遅くなり、ユーザーのログイン時に、セッション ファイルの読み取りと書き込みに多くの時間を費やすプログラム。多数のユーザーがログインすると、読み取りおよび書き込み機能が不足し、その結果、セッションを操作する最初のプロセスによってファイルがロックされ、他のリクエストがブロックされます。セッション ファイルのロックが解除されるまで、リクエストは session_start() で一時停止されます。現時点では、ログインが遅い問題を最適化する必要があります。
ロックされたセッションファイルは、スクリプトの実行が終了するか、セッションが正常に閉じられるまでロックが解除されないため、大量のPHPリクエスト($_SESSIONデータの使用を必要とする)がロックされるのを防ぐために、次のようにすることができます。書き込み後すぐにセッションを閉じて、ロックを解放します。
//开启会话 session_start(); //写入会话 $_SESSION['is_login']=1; //写入会话后关闭上一个会话文件的写入 session_write_close();
phpセッションセッションはredisに書き込まれます
redisデータはコンピュータのメモリスティックに保存され、実行されます。コンピュータのメモリスティックの速度はハードディスクの数十倍であるため、phpセッションがredisに書き込まれる場合。 redisキャッシュ、速度が大幅に向上します。設定方法:
//方式一,在php脚本中设置更改php会话写入方式 <?php ini_set("session.save_handler","redis"); ini_set("session.save_path","tcp://127.0.0.1:6379"); //如果有密码 ini_set("session.save_path","tcp://127.0.0.1:6379?auth=password"); ?>
//修改php的配置文件php.ini session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379" //如果有密码 session.save_path = "tcp://127.0.0.1:6379?auth=password"
関連する推奨事項:
以上がPHPセッションをRedisに書き込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。