Tomcat7基於Redis的Session共享實戰一
本文主要介紹如何使用redis對tomcat7的session進行託管。
1、安裝Redis
redis安裝比較簡單,此處略過。
2、配置兩個Tomcat
在本機上配置兩個Tomcat,分別為tomcat7-8081、tomcat7-8082。
編制兩個index.jsp頁面,分別放入tomcat7-8081\webapps\ROOT、tomcat7-8082\webapps\ROOT目錄下,index.jsp頁面內容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>獲取session id</title> </head> <body> Session Id :<%= request.getSession().getId() %> </body> </html>
tomcat7-8081訪問地址:http://localhost:8081,瀏覽顯示內容:Session Id : A86BC413D12339380DD7B0079C50D9EB
tomcat7-8082訪問地址:http://localhost:8082,瀏覽顯示內容:Session Id : A86BC413D12339380DD7B0079C50D9EB
3、拷貝tomcat需要的jar
將如下幾個jar拷貝到${TOMCAT_HOME}/lib下
tomcat-redis-session-manager-VERSION.jar jedis-2.5.2.jar commons-pool2-2.2.jar
4、配置tomcat
編輯${TOMCAT_HOME}/conf/context.xml,在context中加入
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />
其中host和port為redis的ip和埠
至此配置完成,tomcat會使用redis來託管session。
5、測試
分別啟動2個Tomcat,在終端看到了如下資訊,表明redis的session manager初始化成功。
... 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager startInternal 資訊: Attached to RedisSessionHandlerValve 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager initializeSerializer 資訊: Attempting to use serializer :com.radiadesign.catalina.session.JavaSerializer 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager startInternal 資訊: Will expire sessions after 1800 seconds 十月 15, 2015 4:52:39 下午 org.apache.catalina.startup.HostConfig deployDirectory 資訊: Deployment of web application directory E:\WorkFolder\Temp\Redis-Session\apache-tomcat1-8080\webapps\manag 十月 15, 2015 4:52:39 下午 org.apache.catalina.startup.HostConfig deployDirectory 資訊: Deploying web application directory E:\WorkFolder\Temp\Redis-Session\apache-tomcat1-8080\webapps\ROOT 十月 15, 2015 4:52:39 下午 org.apache.catalina.startup.TldConfig execute 資訊: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a co 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager startInternal 資訊: Attached to RedisSessionHandlerValve 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager initializeSerializer 資訊: Attempting to use serializer :com.radiadesign.catalina.session.JavaSerializer 十月 15, 2015 4:52:39 下午 com.radiadesign.catalina.session.RedisSessionManager startInternal 資訊: Will expire sessions after 1800 seconds ...
開啟瀏覽器,輸入http://localhost:8081回車,
開啟瀏覽器,輸入http://localhost:8082回車
獲取的SESSIONID是同一個,說明成功了,其中D5E4019A04709CD68F94378211DA1B60就是SESSIONID
啟動redis自身的客戶端:redis-cli.exe -h 127.0.0.1 -p 6379
執行"keys *",會看到SESSIONID:D5E4019A04709CD68F94378211DA1B60;
執行"get D5E4019A04709CD68F94378211DA1B60",得到SESSIONID的值。
經測試,只要redis不重啟,使用者session就不會丟失。雖然session儲存到了redis中,但是如果redis掛掉,session也會丟失。為了解決此問題,可對redis進行叢集。
注意:放到redis中的物件必須為可序列化物件。因此,在程式設計過程中,放置的session物件必須實現serialiable介面。
相關推薦
Tomcat7基於Redis的Session共享實戰一
本文主要介紹如何使用redis對tomcat7的session進行託管。 1、安裝Redisredis安裝比較簡單,此處略過。 2、配置兩個Tomcat在本機上配置兩個Tomcat,分別為tomcat7-8081、tomcat7-8082。 編制兩個index.jsp頁面,分別放入tomcat7-808
CAS4.0.3服務的搭建實戰一【基於普通web專案】
一、從官網下載對應的war包 1.地址一:https://github.com/apereo/cas/releases/tag/v4.0.3 2.地址二:http://central.maven.org/maven2/org/jasig/cas/cas-server-webapp/4.0
61、Heartbeat V1基於NFS共享儲存的WEB高可用實戰
1、涉及機器 192.168.130.61 node1.ha.com 192.168.130.62 node2.ha.com 192.168.130.63 node3.ha.com 2、安裝heartbeat V2 rpm -ivh https://mirrors.aliyun.com/ep
Heartbeat V2基於NFS共享儲存的WEB高可用實戰(基於heartbeat-gui配置)
1、涉及機器 192.168.130.61 node1.ha.com 192.168.130.62 node2.ha.com 192.168.130.63 node3.ha.com 2、安裝heartbeat V2 rpm -ivh https://mirrors.aliyun.com/ep
63、Heartbeat V2基於NFS共享儲存的MySQL高可用實戰(heartbeat-gui)
1、涉及機器 192.168.130.61 node1.ha.com 192.168.130.62 node2.ha.com 192.168.130.63 node3.ha.com 2、安裝heartbeat V2 rpm -ivh https://mirrors.aliyun.com/ep
[HTML5之APP實戰]基於ionic開發的一款KTV移動應用
摘要 前期一直介紹web 移動開發的一些基本知識,而沒有給大家演示過一個專案,今天給大家給大家詳細介紹一下如何利用HTML5來完成一個移動APP應用.在正式介紹前,希望大家能搞明白以下幾個問題. 請大家思考以下幾個問題? 問題一 H
Tomcat7基於Redis的Session共享
Tomcat7/8基於Redis(Sentinel)的Session共享實戰 筆者線上環境的多個tomcat需要共享session 基於epel源安裝、啟動redis yum install redis -y && /etc
tensorflow實戰一---基於線性迴歸簡單實現mnist手寫體識別
Mnist手寫體識別是tensorflow的入門經典教程,此處的mnist的手寫體識別率達到了91%,優化演算法為梯度下降演算法,啟用函式為softmax迴歸,沒有中間層,基本步驟可以分為七步。 1、設定變數 2、設定資料與結果的計算關係(設定圖) 3、設定優化演算法(梯度
備份windows共享最近一天文件
備份windows共享文件 最近一天文件 #!/bin/bashsrc=/root/server/ic/dst=/var/server_data/ic/dateTime=`date +%Y%m%d-%H:%M`mount -t cifs -o username=everyone,password=""
Odoo實戰一:空白模塊創建
sequence desc 這就是 ons ins pan sta 詳細 onf 一:新建模塊目錄 我們在openerp-server.conf中配置了模塊的存放路徑,一般為 XXXX\odoo\addons 實際開發時,為了避免與odoo自帶模塊所混淆,我們一般把自己的
Hangfire實戰一
src 代碼 framework 方法 打開 http 存儲 provide def Hangfire:一個開源的任務調度框架 開發環境:VS2017,SQL Server 2012,.NET Framework 4.5 項目類型:控制臺應用程序 1.在vs的程序包控制臺中
多線程實戰(一) : 交通燈管理系統
紅綠燈 ted 無法 -s let .net vertical 維護 content 一. 項目要求: 模擬實現十字路口的交通燈管理系統邏輯。詳細需求例如以下: 1. 異步隨機生成依照各個路線行駛的車輛。 比如: 由南向而來去往北向的車輛 ---
solr分布式索引【實戰一、分片配置讀取:工具類configUtil.java,讀取配置代碼片段,配置實例】
hset fileinput string lose eas hash hashset mod bject 1 private static Properties prop = new Properties(); 2 3 private stati
機器學習實戰(一)k-近鄰算法
復雜 ssi bsp 體重 工具 等級 lap 問題 種類 轉載請註明源出處:http://www.cnblogs.com/lighten/p/7593656.html 1.原理 本章介紹機器學習實戰的第一個算法——k近鄰算法(k Nearest Neighbor
openvpn部署之快速入門實戰+一鍵部署openvpn腳本
openvpn軟件環境: Centos6.9 x64 openvpn-2.4.3-1.el6.x86_64.rpm easy-rsa-2.2.2-1.el6.noarch.rpm #推薦使用2.2的版本 pkcs11-helper-1.11-3.el6.x86_64.rpm網絡環
機器學習實戰一(kNN)
.com block 個數 indices 操作 來看 空間 計算機 python3 機器學習實戰一(kNN) 跟著老師做一個項目,關於行車記錄儀識別前方車輛,並判斷車距,不太好做。本來是用OpenCV,做著做著,突然發現需要補習一下機器學習的內容。《機器學習實戰(mach
汽車之家店鋪數據抓取 DotnetSpider實戰[一]
@class 詳情 nbsp 實體 比較 request else post 好的 一、背景 春節也不能閑著,一直想學一下爬蟲怎麽玩,網上搜了一大堆,大多都是Python的,大家也比較活躍,文章也比較多,找了一圈,發現園子裏面有個大神開發了一個DotNetSpider的開源
項目實戰 一
項目需求:1.PC-12 / 13 / 14基於需求進行編址2.PC-12 與PC-14互通3.PC-13 與PC-14互通4.PC-12 與PC-14不通5.交換機之間動態學習VLAN信息6.實現LSW8和LSW9之間的強壯性7.IP地址規劃PC-12 : 192.168.1.1/25PC-13 : 192
CentOS6 MySql5.5.53編譯安裝+多實例實戰(一)
mysql 編譯安裝 數據初始化 第一個裏程碑:安裝前準備(1)克隆一個模板機器(使用centos6),克隆完做快照(2)IP 10.0.0.200 主機名whw(3)下載好5.5.53第二個裏程碑:開始編譯安裝(1)安裝所需依賴yum install cmake ncurses-devel
Ubuntu機器學習python實戰(一)k-近鄰算法
0.12 繪圖 http tps eat 2.6 .sh 輸入 重復 2018.4.18Python機器學習記錄 一.Ubuntu14.04安裝numpy 1.參考網址 2.安裝代碼: 在安裝之前建議更新一下軟件源 : sudo apt-get update 如果py