ホームページ > バックエンド開発 > PHPチュートリアル > PHPセッションをRedis設定メソッドに保存させる

PHPセッションをRedis設定メソッドに保存させる

WBOY
リリース: 2016-06-23 13:40:36
オリジナル
979 人が閲覧しました

最初に redis をインストールします

インストール方法: http://redis.io/download

InstallationDownload, extract and compile Redis with:$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz$ tar xzf redis-2.8.19.tar.gz$ cd redis-2.8.19$ makeThe binaries that are now compiled are available in the src directory. Run Redis with:$ src/redis-serverYou can interact with Redis using the built-in client:$ src/redis-cliredis> set foo barOKredis> get foo"bar"
ログイン後にコピー

次に、phpredis 拡張機能 redis.so をインストールします

インストール方法の参考: http: // www.lecloud.net/post/3378834922/install-redis-php-extension-phpredis-with

///////////////////////////////以下代码为参考网站安装方法,请根据自己的实际安装位置自由调整,/////////////////////////////cd /usr/localsudo mkdir srccd /usr/local/srcsudo mkdir phpredis-buildcd phpredis-buildsudo git clone --depth 1 git://github.com/owlient/phpredis.gitcd phpredissudo phpizesudo ./configuresudo makesudo make installcd /usr/local/lib/php5/sudo gedit php.ini如果没有配置 extension_dir 的话请配置到你的extension的路径cp redis.so /usr/local/lib/php5/extension/加入一行: extension = redis.so 重启nginx 和 php-fpm 就输出phpinfo 就能看到redis 扩展安装完成
ログイン後にコピー

php.ini

を設定します

session.save_handler = files の行を見つけて、それを session.save_handler に変更します= redis, 元のセッション保存方法を micro-redis 方法に変更すると、速度が向上します。その理由は、redis はメモリから読み取るため、ファイルから読み取るよりも高速でなければならないからです

Find; session.save_path = "/tmp" line,これを session .save_path = "tcp://127.0.0.1:8888" に変更します。これはローカル TCP サービスを指します。このサービスはすぐに Redis によって開始されます

nginx と php-fpm を再起動し、phpinfo を出力します。セッションの保存方法とパスが変更されました

Redis サービスを開始します

redis-server --port 8888 &
ログイン後にコピー

PHP コードを作成します


<?php header("Content-type:text/html;charset=utf-8");session_start();//这个很重要$_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis ');$redis = new redis();$redis->connect('127.0.0.1', 8888);echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();echo '<br/>';echo '<br/>';//redis用session_id作为key并且是以string的形式存储echo '通过php用redis获取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());echo '<br/>';echo '<br/>';echo '通过php用session获取>>>>>>><br/>';echo '<pre class="brush:php;toolbar:false">';var_dump($_SESSION['test_session']);echo '
';
ログイン後にコピー

ページの出力では、正常に保存され、保存された値が正常に取得されたことがわかります。 redis


sessionid>>>>>>> PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5通过php用redis获取>>>>>>>test_session|a:2:{s:4:"name";s:6:"fanqie";s:3:"ccc";s:12:"hello redis ";}通过php用session获取>>>>>>>array(2) {  ["name"]=>  string(6) "fanqie"  ["ccc"]=>  string(12) "hello redis "}
ログイン後にコピー

Redis クライアントを使用して、redis ライブラリに保存されているレコードを表示できます。 hello redis レコードをクエリできます

dangcheng@dangcheng-pc:~$ redis-cli -p 8888127.0.0.1:8888> select 0OK127.0.0.1:8888> keys *1) "PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5"127.0.0.1:8888> get PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5"test_session|a:2:{s:4:\"name\";s:6:\"fanqie\";s:3:\"ccc\";s:12:\"hello redis \";}"127.0.0.1:8888>
ログイン後にコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート