您的位置:首页 > 数据库 > Redis

IIS服务器用redis实现session共享

2017-05-26 09:36 190 查看

需求:

        PC端考试系统在外网进行,发布多个IIS服务器,用Nginx解决负载均衡的问题,用Redis解决session共享的问题,具体操作如下。

方案:

程序中修改:

1、在配置文件中添加redis的服务器,如下:

      


1、  引用redis的工具类,如下:



2、  引入全局变量,在这里是学号作为全局变量



3、  程序在开启的时候,运行mypage类,mypage类继承page,并重写其中的方法,判断是否有key为全局变量的ursercode存在。



 

       整体思路:在程序启动的时候,首先运行mypage方法,在运行此方法的时候,首先初始化RedisSession类,(该类目前方法比较多,执行的比较慢。等正式用的时候,可以将没有用到的方法都删除),初始化方法后判断是否有global.UserCode,假如没有,则跳转到登录页面,假如有,则不跳转。

4、  在登录的时候,需要将key值加入到redis中,这样才有了程序启动的时候判断key值。



 

将程序发布到IIS上面,形成2个端口号,分别是8010/8055

Redis:

 

      在window系统中安装redis(window版本,绿色版),直接启动即可。可以用客户端工具RedisDesktopManager进行连接。

Nginx:

       在window系统中安装nginx(window版本,绿色版),直接启动集合。

      

       修改Nginx的配置文件:

        


      配置上8010和8055的端口号,实现负载均衡。为了区分俩个网址,在其界面上也有所不同。

效果:

    我们首先登陆,然后我们可以进入到主界面,当我们访问

      


    的时候,主界面为:这时候我们访问的是8010的IIS服务器。

     


    我们刷新页面,页面的内容变为:

     


    这时候访问的是8055的IIS服务器,虽然访问了不同的IIS服务器,但是没有跳转登录页,session共享实现。

 

    至此,session共享和负载均衡都已经实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: