前面已经介绍了redis的安装以及配置,最后一起来简单了解下redis如何结合php并且实现session共享。
创新互联是一家从事企业网站建设、网站设计、网站制作、行业门户网站建设、网页设计制作的专业的建站公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点上千多家。1.Redis扩展模块安装
1. 先安装php的redis扩展,和memcached安装是一样的。
首先可以去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安装完成
然后修改php.ini,在之前我已经把extension_dir = "./" 修改为
extension_dir = "/usr/local/php/extensions"了。
现在在添加一行
extension="redis.so"保存
/usr/local/php/bin/php -m |grep redis 可以检验扩展模块是否添加成功。
php脚本测试可以按照之前memcached的文章一样的测试,这里就不说了可以看看前面的文章— —《memcached结合php》
2.Redis实现session共享
在apache虚拟主机加入(lamp环境测试)
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
#############
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "
";
print $_SESSION['TEST3'];
print "
";
print session_id();
?>
####################
curl localhost/session.php
输出类似于1469333260
1469333260
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结果和浏览器显示的也是一致的。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。