java 使用memcached以及spring 配置memcached

本文涉及以下內(nèi)容:

1,要使用的jar包
2串慰,java 使用memcached
3承疲,spring 配置memcached

導(dǎo)入jar

java_memcached-release_2.6.6.jar
commons-pool-1.5.6.jar
slf4j-api-1.6.1.jar
slf4j-simple-1.6.1.jar

示例代碼

創(chuàng)建一個(gè)memcached 工廠類
    public class CacheHelper {

        private static MemCachedClient mcc = new MemCachedClient();
        
        private CacheHelper() {
        }

        static {
            String[] servers = {"71.0.0.29:2222", "71.0.0.29:2223"};
            Integer[] weights = {1, 2};
    
    
            SockIOPool pool = SockIOPool.getInstance();
    
            pool.setServers(servers);
            pool.setWeights(weights);
            pool.setInitConn(5);
            pool.setMinConn(5);
            pool.setMaxConn(250);
            pool.setMaxIdle(1000 * 60 * 60 * 6);
            pool.setMaintSleep(30);
            pool.setNagle(false); // 禁用nagle算法
            pool.setSocketConnectTO(0);
            pool.setSocketTO(3000); //3秒超時(shí)
            pool.setHashingAlg(3);
    
            pool.initialize();
        }

        public static MemCachedClient getMemCachedClient() {
            return  mcc;
        }
    }

測(cè)試

 MemCachedClient mcc = CacheHelper.getMemCachedClient();
 mcc.add("k8", "1234455");

 MemCachedClient mcc = CacheHelper.getMemCachedClient();
       
        UserModel user = new UserModel("12322222", "lihao", 28);
        boolean is = mcc.add("user2",user);





public void setInitConn( int initConn ) 
設(shè)置開始時(shí)每個(gè)cache服務(wù)器的可用連接數(shù)

public void setMinConn( int minConn ) 
設(shè)置每個(gè)服務(wù)器最少可用連接數(shù)

public void setMaxConn( int maxConn ) 
設(shè)置每個(gè)服務(wù)器最大可用連接數(shù)

 public void setMaxIdle( long maxIdle )
  設(shè)置可用連接池的最長等待時(shí)間

public void setMaintSleep( long maintSleep )
設(shè)置連接池維護(hù)線程的睡眠時(shí)間 ,設(shè)置為0,維護(hù)線程不啟動(dòng)。維護(hù)線程主要通過log輸出
socket的運(yùn)行狀況,監(jiān)測(cè)連接數(shù)目及空閑等待時(shí)間等參數(shù)以控制連接創(chuàng)建和關(guān)閉。

 public void setNagle( boolean nagle )
設(shè)置是否使用Nagle算法,因?yàn)槲覀兊耐ㄓ崝?shù)據(jù)量通常都比較大(相對(duì)TCP控制數(shù)據(jù))而且要求響 應(yīng)及時(shí),因此該值需要設(shè)置為false(默認(rèn)是true)

ublic void setSocketTO( int socketTO ) 
設(shè)置socket的讀取等待超時(shí)值

public void setSocketConnectTO( int socketConnectTO )
 設(shè)置socket的連接等待超時(shí)值

 public void setHashingAlg( int alg ) 
 設(shè)置hash算法
    alg=0 使用String.hashCode()獲得hash code,該方法依賴JDK,可能和其他客戶端不兼容,建議不使用     
    alg=1 使用original 兼容hash算法,兼容其他客戶端
    alg=2 使用CRC32兼容hash算法,兼容其他客戶端,性能優(yōu)于original算法
    alg=3 使用MD5 hash算法
    采用前三種hash算法的時(shí)候,查找cache服務(wù)器使用余數(shù)方法肴盏。采用最后一種hash算法查找cache     服務(wù)時(shí)使用一致性hash方法

public void initialize() 設(shè)置完pool參數(shù)后最后調(diào)用該方法,啟動(dòng)pool。

memcached 和Spring 繼承

    <!--memcached 客戶端 SocketPool-->
    <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" 
    factory- method="getInstance"
     init-method="initialize" 
     destroy-method="shutDown">
        <constructor-arg><value>neeaMemcachedPool</value></constructor-arg> <property   name=   "servers">
        <list> <value>192.168.1.106:2222</value> <value>192.168.1.106:2223</value>
                 </list>
             </property>
        <property name="weights"> <list>
                       <value>1</value>
                       <value>2</value>
                   </list>
        </property>
        <property name="initConn">
             <value>5</value>
         </property>
        <property name="minConn">
             <value>5</value>
        </property>
        <property name="maxConn"> 
            <value>250</value>
        </property>
        <property name="maintSleep">
            <value>30</value>
        </property>
        <property name="nagle">
            <value>false</value>
        </property>
        <property name="maxIdle">
            <value>6000</value>
        </property>
        <property name="socketTO">
             <value>3000</value>
        </property>
    </bean>

    <!--memcached client-->
    <bean id="memCachedClient" class="com.danga.MemCached.MemCachedClient">
    <constructor-arg> 
        <value>neeaMemcachedPool</value>
    </constructor-arg>
 </bean>

相關(guān)文章

Memcached 安裝使用存儲(chǔ)
http://www.reibang.com/p/2b3c43c1778c

java 使用memcached以及spring 配置memcached
http://www.reibang.com/p/6f264bf5d9f9

memcached優(yōu)化
http://www.reibang.com/p/789d208036f5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末帽衙,一起剝皮案震驚了整個(gè)濱河市菜皂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厉萝,老刑警劉巖恍飘,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異谴垫,居然都是意外死亡章母,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門翩剪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乳怎,“玉大人,你說我怎么就攤上這事前弯◎阶海” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵博杖,是天一觀的道長椿胯。 經(jīng)常有香客問我,道長剃根,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任前方,我火速辦了婚禮狈醉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惠险。我一直安慰自己苗傅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布班巩。 她就那樣靜靜地躺著渣慕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抱慌。 梳的紋絲不亂的頭發(fā)上逊桦,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音抑进,去河邊找鬼强经。 笑死,一個(gè)胖子當(dāng)著我的面吹牛寺渗,可吹牛的內(nèi)容都是我干的匿情。 我是一名探鬼主播兰迫,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼炬称!你這毒婦竟也來了汁果?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤玲躯,失蹤者是張志新(化名)和其女友劉穎据德,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體府蔗,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晋控,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姓赤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赡译。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖不铆,靈堂內(nèi)的尸體忽然破棺而出蝌焚,到底是詐尸還是另有隱情,我是刑警寧澤誓斥,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布只洒,位于F島的核電站,受9級(jí)特大地震影響劳坑,放射性物質(zhì)發(fā)生泄漏毕谴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一距芬、第九天 我趴在偏房一處隱蔽的房頂上張望涝开。 院中可真熱鬧,春花似錦框仔、人聲如沸舀武。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽银舱。三九已至,卻和暖如春跛梗,著一層夾襖步出監(jiān)牢的瞬間寻馏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工茄袖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留操软,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓宪祥,卻偏偏與公主長得像聂薪,于是被迫代替她去往敵國和親家乘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理藏澳,服務(wù)發(fā)現(xiàn)仁锯,斷路器,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,804評(píng)論 6 342
  • 本文參考了:http://blog.didispace.com/springcloud7/http://blog....
    WeiminSun閱讀 7,203評(píng)論 0 23
  • 今天閱讀了《少有人走的路》第二章愛的內(nèi)容翔悠,它告訴了我們什么才是真愛业崖!真愛可以拓展自我界線,實(shí)現(xiàn)自我完善蓄愁,達(dá)到...
    變成兩位數(shù)的瘦子閱讀 325評(píng)論 1 6
  • 恰有斜風(fēng)細(xì)雨双炕,樹欲靜而風(fēng)不止,子欲養(yǎng)而親不在撮抓。 再不見江湖青衫仗劍風(fēng)流妇斤,再不見地仙朝游北海暮蒼梧,再不見真人騎鶴過...
    解扣c閱讀 1,302評(píng)論 0 3