ホームページ  >  記事  >  バックエンド開発  >  PHP分散システムでRedisとのセッションを実装する方法

PHP分散システムでRedisとのセッションを実装する方法

小云云
小云云オリジナル
2017-12-14 13:47:352134ブラウズ

この記事では主に、PHP ディストリビューションで Redis を使用してセッションを実装する方法を詳しく紹介し、テスト用のサンプル コードを示します。 。

この記事では、PHP ディストリビューションで Redis を使用してセッションを実装する方法を紹介します。まずは 2 つの方法を見てみましょう

方法 1:

設定ファイル php.ini を見つけて、それを Content に変更します。以下で、サービスを保存して再起動します


session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"


方法 2:

次の内容をコードに直接追加します:


ini_set("session.save_handler", "redis");
ini_set("session.save_path", "tcp://127.0.0.1:6379");


注: 設定の場合ファイルの接続パスワード requirepass は redis.conf に設定されており、save_path は次のように記述する必要があります tcp://127.0.0.1:6379?auth=authpwd そうしないと、セッションを保存するときにエラーが報告されます。

テスト:


<?php
//ini_set("session.save_handler", "redis");
//ini_set("session.save_path", "tcp://127.0.0.1:6379");

session_start();

//存入session
$_SESSION[&#39;class&#39;] = array(&#39;name&#39; => &#39;toefl&#39;, &#39;num&#39; => 8);

//连接redis
$redis = new redis();
$redis->connect(&#39;127.0.0.1&#39;, 6379);

//检查session_id
echo &#39;session_id:&#39; . session_id() . &#39;<br/>&#39;;

//redis存入的session(redis用session_id作为key,以string的形式存储)
echo &#39;redis_session:&#39; . $redis->get(&#39;PHPREDIS_SESSION:&#39; . session_id()) . &#39;<br/>&#39;;

//php获取session值
echo &#39;php_session:&#39; . json_encode($_SESSION[&#39;class&#39;]);

関連する推奨事項:

Redisを使用してディストリビューションでセッション共有を実装する

nginx+tomcat+redisを使用してセッション共有を実装する

Re Dis 最適化エクスペリエンスの概要

以上がPHP分散システムでRedisとのセッションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。