php Session存储到Redis的方法

先安装php的扩展,然后修改php.ini的设置

   代码如下:

  session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
修改后重启php-fpm或nginx,phpinfo()

  session redis
如果不想修改php.ini可这样

   代码如下:

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

如果配置文件/etc/nf里设置了连接密码requirepass保存session的时候会报错,save_path这样写 tcp://127.0.0.1:6379?auth=authpwd 即可。
有网友提到相对于文件存储的session,redis或者memcache存储session值会有并发一致性的问题,这块并没有细测过。

   代码如下:

  <?php
//如果未修改php.ini下面两行注释去掉
//ini_set("session.save_handler", "redis");
//ini_set("session.save_path", "tcp://127.0.0.1:6379");
session_start();
$_SESSION["sessionid"] = "this is session content!";
echo $_SESSION["sessionid"];
echo "<br/>";

$redis = new redis();
$redis->connect("127.0.0.1", 6379);
//redis用session_id作为key并且是以string的形式存储
echo $redis->get("PHPREDIS_SESSION:" . session_id());
 ?>

有话要说