欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP实现负载均衡session共享redis缓存操作示例

程序员文章站 2024-02-07 10:51:10
本文实例讲述了php实现负载均衡session共享redis缓存操作。分享给大家供大家参考,具体如下: 1、首先先创建html表单页面

本文实例讲述了php实现负载均衡session共享redis缓存操作。分享给大家供大家参考,具体如下:

1、首先先创建html表单页面

<meta chatset='utf-8'>
<center>
<form action="se.php" method="post">
 <table>
  <tr>
   <td>帐号:</td>
   <td><input type="text" name="username"></td>
  </tr>
  <tr>
   <td>密码:</td>
   <td><input type="password" name="pwd"></td>
  </tr>
  <tr>
   <td></td>
   <td><input type="submit" value="登录"></td>
  </tr>
 </table>
</form>
</center>

2、创建接受表单的文件

<?php
 header('content-type:text/html;charset=utf-8');
 set_time_limit(10);
 ini_set("session.save_handler",'redis');//开启php.ini中的redis配置
 ini_set("session.save_path","tcp://192.168.1.70:6379");//第一台服务器的redis
 session_start();//开启session
 $username = $_post['username'];
 $_session['username'] = $username;
 echo "<script>alert('登录成功!');location.href='from.php'</script>";//登录成功后跳转到欢迎登录页面
?>

3、跳转到from.php去判断第一台服务器的redis中的session是否存到了本台服务器的session中

<?php
 header('content-type:text/html;charset=utf-8');
 set_time_limit(10);
 ini_set("session.save_handler",'redis');//开启php.ini中的redis配置
 ini_set("session.save_path","tcp://192.168.1.70:6379");//第一台服务器的redis
 session_start();//开启session
 $username = isset($_session['username']) ? $_session['username'] : '';//判断当前是否存在session
 //$id = $_session['phpsessid'];
 //echo $id;
 if(empty($username)){
  echo "<script>alert('请重新登录!');location.href='index.php'</script>";
 }else{
  echo "欢迎".$username."登录";
 }
?>

这样就简单了实现了redis session共享的功能,要测试的话需要两台服务器,建议使用linux 比较好用

linux上安装redis可参考《linux平台安装redis及redis扩展的方法

更多关于php相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家php程序设计有所帮助。