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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

頻繁操作的數(shù)據(jù)用redis緩存還是自建緩存比較好?

頻繁操作的數(shù)據(jù)用redis緩存還是自建緩存比較好?

眼眸繁星 2019-03-01 10:37:01
java 項目,要用到兩個數(shù)據(jù)結(jié)構(gòu)1 {province : set<phonenumber>}2 {phonenumber: {"username": username, "status": status }}用的時候大致是時不時插入或者刪除電話號碼到1的set里(刪除要用到定時機(jī)制或者超時機(jī)制)或者根據(jù)省份查1得到集合set,然后在2里遍歷這個電話號碼的集合 單項目使用,不用和其他服務(wù)共享數(shù)據(jù)自建緩存的話要用到hashset hashmap/concurrenthashmap ,還要定時器redis的話直接用,但是用redis的性能和自建緩存比有明顯差別嗎?
查看完整描述

10 回答

?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗 獲得超10個贊

  1. 估算數(shù)據(jù)量,及數(shù)據(jù)增長趨勢,如果內(nèi)存能夠承受,可以用Map,我試過往Map里放500M的數(shù)據(jù),可以承受的
  2. 如果用redis,考慮網(wǎng)絡(luò)IO的延遲
  3. 不要過早優(yōu)化,如果目前內(nèi)存夠用,沒必要上第三方緩存,開發(fā)的時候采用接口編程,如果以后換了再換實現(xiàn)就行了
查看完整回答
反對 回復(fù) 2019-03-01
?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊

1.Redis是用C語言開發(fā)的一個開源的高性能鍵值對(key-value)數(shù)據(jù)庫,redis 的性能當(dāng)然比自建緩沖的性能好,畢竟 redis 是經(jīng)過大量實踐和改進(jìn)的,如果項目不上線,另說,你可以嘗試下
2.緩存(數(shù)據(jù)查詢、短連接、新聞內(nèi)容、商品內(nèi)容等等)。(最多使用)

查看完整回答
反對 回復(fù) 2019-03-01
?
人到中年有點甜

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊

我們用的是apache ignite網(wǎng)絡(luò)緩存。這套緩存系統(tǒng)好評

查看完整回答
反對 回復(fù) 2019-03-01
?
搖曳的薔薇

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

查看完整回答
反對 回復(fù) 2019-03-01
?
喵喵時光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗 獲得超7個贊

Redis 緩存的話需要注意的是網(wǎng)絡(luò)問題,如果部署在同一臺機(jī)器就沒有這個顧慮了。

查看完整回答
反對 回復(fù) 2019-03-01
?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊

1.建議使用redis,這樣可以降低耦合度,
2.另個redis的緩存處理機(jī)制是經(jīng)過很多成熟產(chǎn)品檢驗的,其處理的速率及性能都遠(yuǎn)遠(yuǎn)超過自建。

查看完整回答
反對 回復(fù) 2019-03-01
?
HUX布斯

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

redis 否則 沒法水平擴(kuò)容。除非當(dāng)存緩存用。

查看完整回答
反對 回復(fù) 2019-03-01
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗 獲得超12個贊

如果只考慮性能,自建緩存必然比redis高效。

因為你是單應(yīng)用,如果內(nèi)存足夠的話自建的內(nèi)存緩存(例如concurrenthashmap )完全可以滿足需求

也可以使用第三方緩存類,例如Google Guava 緩存類(不用你自己寫定時器去清除緩存)。

//Google Guava緩存的例子
        Cache<String, String> cache = CacheBuilder.newBuilder()//
                .expireAfterAccess(1000, TimeUnit.MILLISECONDS)// 
                .build();


        cache.put("key1", "value");

        String value = cache.getIfPresent("key1");
查看完整回答
反對 回復(fù) 2019-03-01
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊

看規(guī)模了。小的話肯定自建了。

查看完整回答
反對 回復(fù) 2019-03-01
?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

要是數(shù)據(jù)量小的話,可以直接使用同步集合(避免數(shù)據(jù)不一致),因為程序級的內(nèi)存使用肯定要比通過網(wǎng)絡(luò)請求的緩存效率高。但是問題是你的程序重啟時,你每次都要重新加載數(shù)據(jù)到內(nèi)存中,還要自己寫定時任務(wù)修改數(shù)據(jù),對于自己隨便寫的程序,可以這樣做,如果是商業(yè)程序,不建議這么做。
redis在商業(yè)程序或者數(shù)據(jù)量比較大的時候需要用的。

查看完整回答
反對 回復(fù) 2019-03-01
  • 10 回答
  • 0 關(guān)注
  • 1405 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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