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程序设计有所帮助。

相关文章

  • PHP解压ZIP文件到指定文件夹的方法

    PHP解压ZIP文件到指定文件夹的方法

    这篇文章主要介绍了PHP解压ZIP文件到指定文件夹的方法,结合实例形式分析了php实现的zip操作类及相应使用技巧,需要的朋友可以参考下
    2016-11-11
  • php getsiteurl()函数

    php getsiteurl()函数

    理解:从字面上看,是获得站点的URL
    2009-09-09
  • 详解PHP框架EasySwoole

    详解PHP框架EasySwoole

    EasySwoole是一款常驻内存型的分布式swoole框架,专为API而生,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、TP风格的协程ORM、协程微信SDK等诸多组件。让开发者编写出多进程,可异步,高可用的应用服务。
    2021-05-05
  • php curl获取网页内容(IPV6下超时)的解决办法

    php curl获取网页内容(IPV6下超时)的解决办法

    如果开启了IPv6,curl默认会优先解析 IPv6,在对应域名没有 IPv6 的情况下,会等待 IPv6 dns解析失败 timeout 之后才按以前的正常流程去找 IPv4
    2013-07-07
  • PHP进阶学习之Geo的地图定位算法详解

    PHP进阶学习之Geo的地图定位算法详解

    这篇文章主要介绍了PHP进阶学习之Geo的地图定位算法,结合实例形式详细分析了php Geo的地图定位算法相关概念、原理、实现方法与操作注意事项,需要的朋友可以参考下
    2019-06-06
  • PHP实现的激活用户注册验证邮箱功能示例

    PHP实现的激活用户注册验证邮箱功能示例

    这篇文章主要介绍了PHP实现的激活用户注册验证邮箱功能,详细分析了php邮件激活用户所涉及的数据库、邮件相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • php错误级别的设置方法

    php错误级别的设置方法

    PHP在运行时, 针对严重程度不同的错误,会给以不同的提示,这里简单介绍下, 方便需要的朋友
    2013-06-06
  • PHP基于文件锁解决多进程同时读写一个文件问题示例

    PHP基于文件锁解决多进程同时读写一个文件问题示例

    这篇文章主要介绍了PHP基于文件锁解决多进程同时读写一个文件的方法,结合实例形式分析了PHP使用flock进行文件读写加锁操作用法,需要的朋友可以参考下
    2017-09-09
  • PHP实现一维数组转二维数组的方法

    PHP实现一维数组转二维数组的方法

    这篇文章主要介绍了PHP实现一维数组转二维数组的方法,实例分析了php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 在Linux系统的服务器上隐藏PHP版本号的方法

    在Linux系统的服务器上隐藏PHP版本号的方法

    这篇文章主要介绍了在Linux系统的服务器上隐藏PHP版本号的方法,有助于预防攻击者针对PHP详细版本的漏洞而发起的攻击,需要的朋友可以参考下
    2015-06-06

最新评论