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相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
redis 替代php文件存储session的实例
redis 替代php文件存储session的实例 查看实例之前请先了解 PHP session_set_save_handler函数的用法 定义个SessionManager 类 class SessionManager { private $redis; public function __construct(){ $this->redis = new Redis(); $this->redis->connect('192.168.0.102', 6379); $retval
-
PHP学习笔记之session
cookie和session是web开发新手容易搞混的两个概念,弄清楚两者有助于对web交互更好的理解.个人认为session和cookie的区别主要有如下几点: cookie 信息保存在客户端 具体实现由客户端负责 数据大小和数量一般有限制 数据容易被窃取和篡改 session 数据保存在服务端 具体实现由服务器负责 数据大小和数量原则上无限制 安全性较高,可信度强 狭义的session指的是web会话中的session id以及关联的数据,广义的session指通信双方的交互会话.例如用户登
-
实现PHP中session存储及删除变量
首先大家需要了解一下,PHP中session什么意思?有什么用? session中文的意思可以表示为"会话",其本来的含义是指有始有终的一系列动作/消息,例如用户提问某个问题,然后被回答,这样一个完整的对话,就相当于一次会话. 而PHP session 变量就是用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. 但是session会话信息是临时的,在用户离开网站后就会被删除.如果需要永久储存信息,就需要把数据
-
PHP+Session防止表单重复提交的解决方法
index.php 当前表单页面is_submit设为0 SESSION_START(); $_SESSION['is_submit'] = 0; <form id="reg" action="post.php" method="post"> <p>用户名:<input type="text" class="input" name="username" i
-
php中session垃圾回收机制
在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾.PHP会将其在内存中销毁:这是PHP的GC垃圾处理机制,防止内存溢出. GC的工作就是扫描所有的Session信息,用当前时间减去session最后修改的时间,同session.gc_maxlifetime参数进行比较,如果生存时间超过gc_maxlifetime(默认24分钟),就将该session删除. 当一个有效的请求发生时,PHP 会根据全局变量 session.gc_probability和session.gc_divisor
-
PHP实现分布式memcache设置web集群session同步的方法
本文实例讲述了PHP实现分布式memcache设置web集群session同步的方法. php的session默认是文件存储: session.save_handler = files session.save_path = "/var/lib/php/session" 当做web集群,需要session同步时,将session存到分布式memcache来达到共享同步是个不错的办法 方法: 第1种: vi /etc/php.ini session.save_handler = memc
-
PHP实现用session来实现记录用户登陆信息
PHP中session实现记录用户登录信息的问题,也是PHP面试题中比较常见的考点之一,是PHP学习者必须掌握的一个知识点. 对于初入门的PHP新手来说,或许有一定的难度.那么在之前的文章[PHP中session如何存储及删除变量的]中,也为大家介绍了PHP中session的基础含义,需要的朋友可以选择参考. 下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户登录信息的具体方法. 1.简单的登录界面代码示例: login.html <!DOCTYPE html>
-
PHP实现负载均衡下的session共用功能
本文实例讲述了PHP实现负载均衡下的session共用功能.分享给大家供大家参考,具体如下: 最近忙于开发台湾运动彩券第四版的程序,所以已经很久没有上来写东西了,今天随便写点东西和大家分享. 首先说一下负载均衡,相信大家都知道负载均衡可以很好地解决网站大流量的问题,负载均衡就是把用户的请求分发到多态pc上进行处理,既然分发了请求那么session就要考虑好处理方法.传统情况下php会把session存入本机的暂存档内,可是这种情况下分发了之后session就丢失了,其实最简单的解决方法就是用me
-
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="
-
spring boot注解方式使用redis缓存操作示例
本文实例讲述了spring boot注解方式使用redis缓存操作.分享给大家供大家参考,具体如下: 引入依赖库 在pom中引入依赖库,如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> &l
-
SpringBoot+SpringSession+Redis实现session共享及唯一登录示例
最近在学习springboot,session这个点一直困扰了我好久,今天把这些天踩的坑分享出来吧,希望能帮助更多的人. 一.pom.xml配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency>
-
nginx+tomcat实现负载均衡,使用redis session共享
环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到
-
YII框架页面缓存操作示例
本文实例讲述了YII框架页面缓存操作.分享给大家供大家参考,具体如下: IndexController.php namespace frontend\controllers; use yii; use yii\web\Controller; class IndexController extends Controller { public function behaviors()//先于action执行,可以用来实现页面缓存 { return [ [ 'class'=>'yii\filters\
-
YII框架http缓存操作示例
本文实例讲述了YII框架http缓存操作.分享给大家供大家参考,具体如下: http禁止缓存原理 header('Expires: 0'); header('Last-Modified: '. gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: no-store, no-cahe, must-revalidate'); //ie专用 header('Cache-Control: post-chedk=0, pre-check=0'
-
Spring实战之清除缓存操作示例
本文实例讲述了Spring实战之清除缓存操作.分享给大家供大家参考,具体如下: 一 配置文件 <?xml version="1.0" encoding="GBK"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p=&
-
node.js实现http服务器与浏览器之间的内容缓存操作示例
本文实例讲述了node.js实现http服务器与浏览器之间的内容缓存操作.分享给大家供大家参考,具体如下: 一.缓存的作用 1.减少了数据传输,节约流量. 2.减少服务器压力,提高服务器性能. 3.加快客户端加载页面的速度. 二.缓存的分类 1.强制缓存,如果缓存有效,则不需要与服务器发生交互,直接使用缓存. 2.对比缓存,每次都需要与服务器发生交互,对缓存进行比较判断是否可以使用缓存. 三.通过使用 Last-Modified / If-Modified-Since 来进行缓存判断 1.Las
-
Python读写Redis数据库操作示例
使用Python如何操作Redis呢?下面用实例来说明用Python读写Redis数据库.比如,我们插入一条数据,如下: 复制代码 代码如下: import redis class Database: def __init__(self): self.host = 'localhost' self.port = 6379 def write(self,website,city,year,month,day,deal_number):
-
Yii框架学习笔记之session与cookie简单操作示例
本文实例讲述了Yii框架学习笔记之session与cookie操作.分享给大家供大家参考,具体如下: session操作 <?php namespace app\controllers; use yii\web\Controller; class HelloController extends Controller{ public function actionIndex(){ //把session当做对象 $session = \yii:$app->session; if($session-
随机推荐
- 用正则实现提取代码内容的代码
- 清除autorun.inf的批处理和vbs
- java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
- WordPress中用于获取及自定义头像图片的PHP脚本详解
- .net搜索查询并实现分页实例
- ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
- php xml文件操作实现代码(二)
- 实现去除c语言注释的小工具
- Apache 多站点虚拟主机配置方法
- Python使用pylab库实现画线功能的方法详解
- 数据库删除完全重复和部分关键字段重复的记录
- 教你轻松学会SQL Server记录轮班的技巧
- 老生常谈JQuery data方法的使用
- 详解jQuery向动态生成的内容添加事件响应jQuery live()方法
- JS实现转动随机数抽奖的特效代码
- 详解eclipse下创建第一个spring boot项目
- Adapter模式实战之重构鸿洋集团的Android圆形菜单建行
- Android源码中final关键字的用法及final,finally,finalize的区别
- 如何优雅地使用c语言编写爬虫
- Android实现图片添加阴影效果的2种方法