首頁  >  問答  >  主體

java - 有关redis等内存数据库 性能 和 必要性 的疑惑

巴扎黑巴扎黑2744 天前824

全部回覆(3)我來回復

  • 阿神

    阿神2017-04-18 10:49:07

    1、多台伺服器可以是內網啊。
    2、redis可以設定很大的記憶體的,也就說量上有可能java是達不到的
    3、還有就是redis可保持資料的持續性,例如你java如果重啟了或是你的java需要重新發布,那記憶體中的資料豈不是不存在了,redis不存在這個問題。
    4、而且redis比較可靠,redis的資料可以沉澱到硬碟,可以恢復的,那你的java記憶體中的東西怎麼恢復。
    5、很簡單的一個問題就是,例如session你存在記憶體中,也就是說如果你重新發布的話,所有的使用者都要重新登入了,redis不會有這個問題的。
    6、再比如,如果你有N多G的熱數據需要存放在記憶體中,以方便高效率的讀取,難道你告訴我用java的記憶體嗎。

    回覆
    0
  • 黄舟

    黄舟2017-04-18 10:49:07

    1.應用場景不同導致redis可以有多種部署方式,本機還是跨機快取是根據要解決的問題來看。例如業務程序是高cpu消耗的,部署的機器只需要一般的記憶體配置。快取的資料又比較多,需要單獨部署,甚至需要多台組成叢集。又例如係統比較大以後,需要各種模組化,微服務化,每個服務都可以獨立演進,計算和資料分離也是比較常見的方式。另外不用擔心網路io帶來的開銷,在沒有達到網路頻寬瓶頸之前,網路io都不是問題,延遲在ms級別,很划算的。

    2.redis作為快取和kv資料庫還有持久化功能,斷電重啟後還可以恢復。當然如果你只是需要緩存機制你可以選擇自己編程維護一套緩存,看你自己的需要,代價就是你要自己實現緩存的機制,自動失效,緩存寫滿等等功能。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:49:07

    MongoDB也有純記憶體儲存引擎,也可以了解與試用。

    Love MongoDB! Have Fun!

    我很好奇,Redis的問題提交到了MongoDB的版面上,我附帶告知MongoDB也有類似的純內存存儲引擎,會有朋友表示不樂意和減1。

    ------------------------華麗的分割符--------------------- -----------

    MongoDB中文社群線下活動繽紛,請猛戳下方:

    2017華山論劍|MongoDB中文社群

    三月杭州站在即! ! ! 有興趣的朋友火速報名! ! !

    回覆
    0
  • 取消回覆