第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Memcached實(shí)例如何緩存?

Memcached實(shí)例如何緩存?

動(dòng)漫人物 2019-04-07 11:19:27
使用Spymemcached作為Memcached客戶端,因?yàn)樘峁┑慕涌诓⒉凰銖?fù)雜,打算直接寫(xiě)一個(gè)Util類(lèi)供其他模塊調(diào)用。以Set方法為例:每次調(diào)用方法都創(chuàng)建客戶端實(shí)例。這種方式每次都要調(diào)用都要?jiǎng)?chuàng)建、銷(xiāo)毀實(shí)例,在操作比較頻繁的情況下存在一定的開(kāi)銷(xiāo)//Set方式保存數(shù)據(jù)publicvoidset(Stringkey,intexp,Objecto)throwsIOException,InterruptedException,ExecutionException{MemcachedClientmemcachedClient=newMemcachedClient(newBinaryConnectionFactory(),AddrUtil.getAddresses(host+":"+port));memcachedClient.set(key,exp,o);memcachedClient.shutdown();}所有方法共用一個(gè)客戶端實(shí)例。這種方法可以減少創(chuàng)建實(shí)例和鏈接,但是在請(qǐng)求不太頻繁的時(shí)段可能會(huì)因?yàn)闆](méi)有銷(xiāo)毀實(shí)例而一直占用著Memcached的鏈接。privatestaticMemcachedClientmemcachedClient=null;static{try{memcachedClient=newMemcachedClient(newBinaryConnectionFactory(),AddrUtil.getAddresses(host+":"+port));}catch(IOExceptionioe){log.error(ioe.getMessage(),ioe);}}//Set方式保存數(shù)據(jù)publicvoidset(Stringkey,intexp,Objecto)throwsIOException,InterruptedException,ExecutionException{memcachedClient.set(key,exp,o);}所以,請(qǐng)問(wèn)有什么方法可以緩存Memcached的客戶端實(shí)例,在需要的時(shí)候直接到緩存中獲取或者創(chuàng)建實(shí)例,如果長(zhǎng)期沒(méi)有調(diào)用的話,則銷(xiāo)毀該實(shí)例,直到下次調(diào)用。最好能做到線程安全。
查看完整描述

2 回答

?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

“但是在請(qǐng)求不太頻繁的時(shí)段可能會(huì)因?yàn)闆](méi)有銷(xiāo)毀實(shí)例而一直占用著Memcached的鏈接?!?pre>這又如何?你想太多了,負(fù)責(zé)任的告訴你,就用這個(gè)方法,生產(chǎn)環(huán)境下,100wDAU,2000w用戶,完全沒(méi)任何問(wèn)題。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-07
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

所有方法共用一個(gè)客戶端實(shí)例。這種方法可以減少創(chuàng)建實(shí)例和鏈接,但是在請(qǐng)求不太頻繁的時(shí)段可能會(huì)因?yàn)闆](méi)有銷(xiāo)毀實(shí)例而一直占用著Memcached的鏈接。
這個(gè)你想的太多了,占用的這點(diǎn)資源可以忽略不計(jì)了。當(dāng)然如果你非得要達(dá)到你的目的,可以產(chǎn)看下JDK里CachedThreadPool的實(shí)現(xiàn)。
newCachedThreadPoolpublicstaticExecutorServicenewCachedThreadPool()
創(chuàng)建一個(gè)可根據(jù)需要?jiǎng)?chuàng)建新線程的線程池,但是在以前構(gòu)造的線程可用時(shí)將重用它們。對(duì)于執(zhí)行很多短期異步任務(wù)的程序而言,這些線程池通??商岣叱绦蛐阅堋U{(diào)用execute將重用以前構(gòu)造的線程(如果線程可用)。如果現(xiàn)有線程沒(méi)有可用的,則創(chuàng)建一個(gè)新線程并添加到池中。終止并從緩存中移除那些已有60秒鐘未被使用的線程。因此,長(zhǎng)時(shí)間保持空閑的線程池不會(huì)使用任何資源。注意,可以使用ThreadPoolExecutor構(gòu)造方法創(chuàng)建具有類(lèi)似屬性但細(xì)節(jié)不同(例如超時(shí)參數(shù))的線程池。
返回:
新創(chuàng)建的線程池
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-07
  • 2 回答
  • 0 關(guān)注
  • 277 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)