session一致性memcached緩存數據庫解決方案
1、安裝memcached內存數據庫
yum –y install memcached
可以用telnet localhost 11211
Set abc 0 0 5
12345
get abc
2、web服務器連接memcached的jar包拷貝到tomcat的lib
3、修改server.xml里面修改Engine標簽,添加jvmRoute屬性,目的是查看sessionid里面帶有tomcat的名字,就是這里配置的jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
4、配置tomcat的conf目錄下的context.xml
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.17.9:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
配置memcachedNodes屬性,配置memcached數據庫的ip和端口,默認11211,多個的話用空格隔開
目的?讓tomcat服務器從memcached緩存里面拿session或者是放session
5、修改index.jsp,取sessionid看一看
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html lang="en">
SessionID:<%=session.getId()%>
</br>
SessionIP:<%=request.getServerName()%>
</br>
<h1>tomcat1</h1>
</html>
繼續。!