redis結合php

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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索