redis如何結合php而且實現session共享?
1.Redis擴展模塊安裝php
1. 先安裝php的redis擴展,和memcached安裝是同樣的。redis
首先能夠去pecl.php.net 官網下載安裝包,我這裏下載的2.8.21版本
# tar zxf redis-2.8.21.tgz
# cd redis-2.8.21
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make installl安裝完成apache
而後修改php.ini,在以前我已經把extension_dir = "./" 修改成vim
extension_dir = "/usr/local/php/extensions"了。瀏覽器
如今在添加一行
extension="redis.so"保存微信
/usr/local/php/bin/php -m |grep redis 能夠檢驗擴展模塊是否添加成功。session
php腳本測試能夠按照以前memcached的文章同樣的測試,這裏就不說了能夠看看前面的文章— —《memcached結合php》curl
2.Redis實現session共享
tcp
在apache虛擬主機加入(lamp環境測試)memcached
php_valuesession.save_handler " redis"
php_valuesession.save_path " tcp://127.0.0.1:6379"
或者php-fpm.conf對應的pool中加入(lnmp環境測試)
php_value[session.save_handler] = redis
php_value[session.save_path] = " tcp://127.0.0.1:6379 "
3.Redis存儲session測試
先編輯一個簡單php測試文件
vim session.php
#############
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
####################
curl localhost/session.php
輸出相似於1469333260<br><br>1469333260<br><br>jaesi8ummenfqbcnojvc6935p7
鏈接redis:/usr/local/redis/bin/redis-cli
127.0.0.1:6379> keys * //把全部的key都列出來
"PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7"
127.0.0.1:6379> get PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7
"TEST|i:1469333260;TEST3|i:1469333260;"
也能夠用瀏覽器測試輸入:IP/session.php
而後在redis上查看是否多出了一個和網頁顯示同樣的key,get這個key能夠獲得value結果和瀏覽器顯示的也是一致的。
本文分享自微信公衆號 - 風帆(wdswhf)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。