首頁 > 後端開發 > php教程 > php Redis儲存Session

php Redis儲存Session

WBOY
發布: 2016-07-29 09:12:36
原創
1215 人瀏覽過

更多請支援:http://www.webyang.net/Html/web/article_180.html

Redis是一個高效能的key-value資料庫。 redis的出現,在部分場合可以對關係資料庫起到很好的補充作用。另外一方面,在session儲存上,也有很多人選擇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()可以查看到session儲存在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),session的save_path需修改為:tcp://127.0.0.1:6379?auth= requirepass的值。
如果選擇redis資料庫,session.save_path = "tcp://xx.xx.xx.xx:6789?database=11",諸如此類。
查看redis儲存session的值:
<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儲存session值會有並發一致性的問題(檔案儲存session有檔案鎖定來處理),這塊沒有研究。
linux安裝redis服務以及php redis擴充:www.webyang.net/Html/web/article_174.html


以上就介紹了php Redis儲存Session,包含了require方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板