>백엔드 개발 >PHP 튜토리얼 >PHP Redis 스토리지 세션

PHP Redis 스토리지 세션

WBOY
WBOY원래의
2016-07-29 09:12:361217검색

더 많은 지원 부탁드립니다: http://www.webyang.net/Html/web/article_180.html

Redis는 고성능 키-값 데이터베이스입니다. Redis의 출현은 일부 상황에서 관계형 데이터베이스에 대한 매우 훌륭한 보완 역할을 할 수 있습니다. 반면에 많은 사람들은 세션 저장을 위해 Redis를 선택합니다. 파일 스토리지의 속도와 효율성을 보완하여 더 높은 가용성을 달성합니다.

php.ini 설정 수정

<ol>
<li value="1">
<span>session</span><span>.</span><span>save_handler </span><span>=</span><span> redis</span>
</li>
<li>
<span>session</span><span>.</span><span>save_path </span><span>=</span><span>"tcp://127.0.0.1:6379"</span>
</li>
</ol>
수정 후 php-fpm을 다시 시작하면 phpinfo()를 통해 세션이 redis에 저장되어 있는 것을 확인할 수 있습니다.
php.ini를 수정하지 않으려면 다음 코드를 추가하면 됩니다.
<ol>
<li value="1">
<span>ini_set</span><span>(</span><span>"session.save_handler"</span><span>,</span><span>"redis"</span><span>);</span>
</li>
<li>
<span>ini_set</span><span>(</span><span>"session.save_path"</span><span>,</span><span>"tcp://127.0.0.1:6379"</span><span>);</span>
</li>
</ol>
redis.conf가 연결 비밀번호(requirepass)를 설정하는 경우 save_path는 세션을 tcp: //127.0.0.1:6379?auth=requirepass 값으로 수정해야 합니다.
redis 데이터베이스를 선택하는 경우 session.save_path = "tcp://xx.xx.xx.xx:6789?database=11" 등입니다.
redis 저장소 세션 값 확인:
<ol>
<li value="1">
<span><?</span><span>php</span></li><li><span>session_start</span><span>();</span></li><li><span>$_SESSION</span><span>[</span><span>'sessionid'</span><span>]</span><span>=</span><span>'www.webyang.net'</span><span>;</span></li><li><span> </span></li><li><span>$redis </span><span>=</span><span>new</span><span> redis</span><span>();</span></li><li><span>$redis</span><span>-></span><span>connect</span><span>(</span><span>'127.0.0.1'</span><span>,</span><span>6379</span><span>);</span>
</li>
<li><span>//redis用 PHPREDIS_SESSION: 加 session_id 作为key,并且是以string的形式存储</span></li>
<li>
<span>echo $redis</span><span>-></span><span>get</span><span>(</span><span>'PHPREDIS_SESSION:'</span><span>.</span><span> session_id</span><span>());</span><span>//输出www.webyang.net</span>
</li>
<li><span>?></span></li>
</ol>

인터넷에서 일부 사람들이 Redis 저장소 세션 값의 동시성 일관성 문제에 대해 의문을 제기하는 것을 보았습니다(파일 저장소 세션은 파일 잠금으로 처리됨). ) 그러나 연구에는 그런 문제가 없습니다.
Linux 설치 redis 서비스 및 php redis 확장: www.webyang.net/Html/web/article_174.html


위 내용은 필수 내용을 포함하여 PHP Redis 스토리지 세션을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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