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源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索