PHP使用Redis来存储session

版权声明:此文章转载自PHP程序员,雷雪松的博客。

如需转载请联系听云College团队成员阮小乙,邮箱:ruanqy#tingyun.com

Redis是一个高性能的key-value数据库,在部分场合可以对关系数据库起到很好的补充作用。现在越来越多的网站为了达到一个更高的可用性把session储存在Memcache、Redis等NoSQL数据库中,之前讲解了PHP如何使用Memcache来存储session。下面看下PHP使用Redis来存储session的具体实现。

方法一:修改php.ini的设置

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"#Redis服务的地址和端口

修改后重启php-fpm,phpinfo()可以查看到session存储在redis中。

方法二:如果不想修改php.ini,可在代码中使用ini_set()方法:

ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://127.0.0.1:6379");

如果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的值:

session_start();
$_SESSION['website'] = 'www.leixuesong.cn';
$redis = new redis();
$redis->connect('192.168.4.112', 6379);
echo $_SESSION['website']; //输出www.leixuesong.cn

想阅读更多技术文章,请访问听云技术博客,访问听云官方网站感受更多应用性能优化魔力。

关于作者

阮小乙

人生就该充满正能量!

我要评论

评论请先登录,或注册