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

 更新时间:2018年08月22日 09:02:01   作者:wuliZs_  
这篇文章主要介绍了PHP实现负载均衡session共享redis缓存操作,涉及php用户登陆、session存储、判断等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • ThinkPHP防止SQL注入攻击的方法

    ThinkPHP防止SQL注入攻击的方法

    在ThinkPHP中,参数绑定是一种安全的方式,用于处理用户输入,特别是在构建数据库查询时,参数绑定可以防止SQL注入攻击,所以本文将给大家介绍了ThinkPHP防止SQL注入攻击的方法,需要的朋友可以参考下
    2023-12-12
  • PHP JSON格式的中文显示问题解决方法

    PHP JSON格式的中文显示问题解决方法

    这篇文章主要介绍了PHP JSON格式的中文显示问题解决方法,本文总结了3种解决中文显示\u开头字符问题的方法,需要的朋友可以参考下
    2015-04-04
  • 在PHP中使用与Perl兼容的正则表达式

    在PHP中使用与Perl兼容的正则表达式

    在PHP中使用与Perl兼容的正则表达式...
    2006-11-11
  • php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别

    php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和m

    mysql_fetch_object() 和 mssql_fetch_array类似,只有一点区别,即返回一个对象而不是数组,并将字段名字做为属性。间接地也意味着只能通过字段名来访问,而不是偏移量
    2012-08-08
  • PHP文件生成的图片无法使用CDN缓存的解决方法

    PHP文件生成的图片无法使用CDN缓存的解决方法

    这篇文章主要介绍了PHP文件生成的图片无法使用CDN缓存的解决方法,这里的PHP生成图片是指src地址是一个PHP文件的图片,如果不做CDN,服务器的压力会非常大,本文就讲解了如何加进CDN的方法,需要的朋友可以参考下
    2015-06-06
  • PHP反射机制原理与用法详解

    PHP反射机制原理与用法详解

    这篇文章主要介绍了PHP反射机制原理与用法,结合实例形式分析了php反射机制的原理、用法及相关注意事项,需要的朋友可以参考下
    2017-02-02
  • PHP魔术方法__GET、__SET使用实例

    PHP魔术方法__GET、__SET使用实例

    这篇文章主要介绍了PHP魔术方法__GET、__SET使用实例,本文在代码中做了详细的注释,需要的朋友可以参考下
    2014-11-11
  • PHP加密解密函数详解

    PHP加密解密函数详解

    这篇文章主要介绍了PHP加密解密的函数,此函数实现了对部分变量值的加密的功能,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • PHP基于redis计数器类定义与用法示例

    PHP基于redis计数器类定义与用法示例

    这篇文章主要介绍了PHP基于redis计数器类定义与用法,结合实例形式较为详细的分析了php定义的redis计数器类及其相关使用技巧,需要的朋友可以参考下
    2018-02-02
  • PHP图像处理类库MagickWand用法实例分析

    PHP图像处理类库MagickWand用法实例分析

    这篇文章主要介绍了PHP图像处理类库MagickWand用法,较为详细的分析了php中图像处类库MagickWand的相关使用技巧,需要的朋友可以参考下
    2015-05-05

最新评论