>  기사  >  백엔드 개발  >  PHP는 redis를 사용하여 세션 인스턴스 공유를 실현합니다.

PHP는 redis를 사용하여 세션 인스턴스 공유를 실현합니다.

*文
*文원래의
2017-12-25 14:27:461472검색

Redis는 효율적인 성능으로 인해 널리 사용되었습니다. 기존 세션은 데이터를 파일에 저장합니다. 디스크의 낮은 IO 성능으로 인해 세션 성능에 병목 현상이 발생합니다. 이번 글에서는 프로그램 효율성을 높이기 위해 Redis에 세션을 저장하는 방법을 주로 소개합니다.

방법 1:

구성 파일 php.ini를 찾아 다음 내용으로 수정한 후 서비스를 저장하고 다시 시작하세요

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");

참고: 만약 redis.conf 구성 파일 연결 비밀번호 requirepass는 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;]);

관련 권장 사항:

PHP의 SESSION 메커니즘 분석

쿠키/세션 메커니즘 소개

Redis 클러스터 구성 그래픽 튜토리얼

위 내용은 PHP는 redis를 사용하여 세션 인스턴스 공유를 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.