集群中的session

1.在session的存储服务器上安装 redis 

2,修改php.ini配置

查看 复制 打印 ?
  1. session.save_handler = redis  
  2. session.save_path = "tcp://127.0.0.1:6379"  

3,查看redis的php扩展

查看一下phpinfo要有以下二样,才能将session存储到redis中,

redis php扩展

redis php扩展

有了redis扩展,还要看php.ini有没有配置好。

session 可以存到redis中

session 可以存到redis中

四,session存储到redis中测试

查看 复制 打印 ?
  1. <?php  
  2. session_start();  
  3. $_SESSION['redis'] = "aaaaaa";  
  4. echo session_id();  
  5. echo "<br>";  
  6. echo $_SESSION['redis'];  
  7. echo "<br>";  
  8. $redis = new redis();  
  9. $redis->connect('192.168.1.108', 6379);  
  10. echo $redis->get("PHPREDIS_SESSION:ruk5i2vlu2hvtmfr5hig4l55f6");//这个key我是通过telnet到redis查的。  
  11. ?>  
集群中的session_第1张图片

页面显示结果

echo session_id();显示出来是ruk5i2vlu2hvtmfr5hig4l55f6,开始的时候,echo $redis->get("ruk5i2vlu2hvtmfr5hig4l55f6");不管怎么样都取不到值,因为memcache这样是可以取到值的,所以我就想redis估计也是这样。telnet到redis看了一下,原来命名key值的方式是不一样的,看下图

集群中的session_第2张图片

redis telnet查看session

到这儿session存储到redis是没有问题了,怎么同步呢。多服务器时,redis是可以配置同步的,当一台机子有session就可以准实时的同步到另一台


是的,情况就是这样滴,集群session解决鸟!

你可能感兴趣的:(集群中的session)