java - 有关redis等内存数据库 性能 和 必要性 的疑惑
巴扎黑
巴扎黑 2017-04-18 10:47:07
0
3
890
巴扎黑
巴扎黑

全部回覆(3)
阿神

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

黄舟

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

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

大家讲道理

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

Love MongoDB! Have Fun!

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

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

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

2017華山論劍|MongoDB中文社群

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板