本文实例讲述了PHP实现负载均衡session共享redis缓存操作。分享给大家供大家参考,具体如下
本文实例讲述了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 负载均衡 session 共享 redis缓存