http://blog.csdn.net/love_ubuntu/article/details/8464983
javascript
1. 安裝各個軟件不用說了。php
2. 到tomcat的安裝目錄lib中,加入:css
memcached-2.6.jar(http://spymemcached.googlecode.com/files/memcached-2.6.jar)html
javolution-5.4.3.1.jarjava
memcached-session-manager-1.5.1.jarnode
memcached-session-manager-tc7-1.5.1.jarnginx
msm-javolution-serializer-1.5.1.jarweb
msm-kryo-serializer-1.5.1.jar正則表達式
msm-xstream-serializer-1.5.1.jarubuntu
3. 配置tomcat. 在 %TOMCAT_HOME%\config\context.xml 文件中加入】
4. 測試發現,有人說:也可在server.xml配置文件的<Host>...<Host>中添加配置
我發現測試沒經過。
5. nginx的配置
6.
一、 session存儲到memchached實現方案時。他主要功能是修改tomcat的session存儲機制,使之可以把session序列化存放到memcached中。
二、Manager標籤屬性說明:
className
此屬性是必須的。
memcachedNodes
此屬性是必須的。這個屬性必須包含你全部運行的memcached節點。每一個節點的定義格式爲<id>:<host>:<port>。
多個之間用空格或半角逗號隔開(如:memcachedNodes="n1:localhost:11211,n2:localhost:11212")。
若是你設置單個memcache節點<id>是可選的,因此它容許設置爲<host>:<port>(memcachedNodes="localhost:11211")。
failoverNodes
可選項,屬性只能用在非粘連Session機制中。
此屬性必須包含memcached節點的Id,此節點是Tomcat做爲備份使用。多個之間用空格或逗號隔開
memcachedProtocol
可選項,默認爲text。出屬性指明memcached使用的存儲協議。只支持text或者binary。
sticky 可選項,默認爲true。
指定使用粘性的仍是非粘性的Session機制。
lockingMode 可選項, 此屬性只對非粘性Session有用,默認爲none。
指定非粘性Session的鎖定策略。他的只有
(1)、none:歷來不加鎖
(2)、all: 當請求時對Session鎖定,直到請求結束
(3)、auto:對只讀的request不加鎖,對非只讀的request加鎖
(4)、uriPattern:<regexp>: 使用正則表達式來比較requestRUI + "?" + queryString來決定是否加鎖,
requestUriIgnorePattern 可選項
此屬性是那些不能改備份Session的請求的正則表達式。若是像css,javascript,圖片等靜態文件被同一個Tomcat和同一個應用上下文來提供,這些
請求也會經過memcached-session-manager。可是這些請求在一個http會話中幾乎沒什麼改變,因此他們不必觸發Session備份。因此那些靜態文件
不必觸發Session備份,你就可使用此屬性定義。此屬性必須符合java regex正則規範。
sessionBackupAsync 可選項,默認true
指定Session是否應該被異步保存到Memcached中。 若是被設置爲true,backupThreadCount設置起做用,若是設置false,經過sessionBackupTimeout
設置的過時時間起做用。
backupThreadCount 可選項,默認爲CPU內核數。
用來異步保存Session的線程數(若是sessionBackupAsync="true")。
sessionBackupTimeout 可選項,默認100,單位毫秒
設置備份一個Session所用的時間,若是操做超過期間那麼保存失敗。此屬性只在sessionBackupAsync="false"是起做用。默認100毫秒
sessionAttributeFilter 可選項 從1.5.0版本有
此屬性是用來控制Session中的那個屬性值保存到Memcached中的正則表達式。鄭則表達式被用來匹配Session中屬性名稱。如
sessionAttributeFilter="^(userName|sessionHistory)$" 指定了只有"userName"和"sessionHistory"屬性保存到Memcached中。
依賴於選擇的序列化策略。
transcoderFactoryClass 可選,默認爲 de.javakaffee.web.msm.JavaSerializationTranscoderFactory
此屬性值是建立序列化和反序列化保存到Memcached中的Session的編碼轉換器的工廠類名。這個指定的類必須實現了de.javakaffee.web.msm.TranscoderFactory
和提供一個無參的構造方法。例如其餘的有效的實如今其餘packages/jars中提供如:msm-kryo-serializer,msm-xstrea-serializer和msm-javolution-serializer.
copyCollectionsForSerialization 可選項,默認false。
customConverter 可選項
enableStatistics 可選項,默認true
用來指定是否進行統計。
enabled 可選項,默認true
指定Session保存到Memcached中是否可用和是否能夠經過JMX進行改變。只用於粘性Session。
7. 編輯session.jsp 進行測試是否session共享。
8. 注意的問題。memcached最好安裝成windows服務。tomcat的端口不要衝突。nginx啓動最好用命令。