java - 有關redis等內存數據庫 性能 和 必要性 的疑惑
問題描述
問題解答
回答1:1、多臺服務器可以是內網啊。2、redis可以設置很大的內存的,也就說量上有可能java是達不到的3、還有就是redis可保持數據的持續性,比如你java如果重啟了或者你的java需要重新發布,那內存中的數據豈不是不存在了,redis不存在這個問題。4、而且redis更可靠,redis的數據可以沉淀到硬盤,可以恢復的,那你的java內存中的東西怎么恢復。5、很簡單的一個問題就是,比如session你存在內存中,也就是說如果你重新發布的話,所有的用戶都要重新登錄了,redis不會有這個問題的。6、再比如,如果你有N多G的熱數據需要存放在內存中,以方便高效率的讀取,難道你告訴我用java的內存嗎。
回答2:1.應用場景不同導致redis可以有多種部署方式,本機還是跨機緩存是根據要解決的問題來看。比如業務程序是高cpu消耗的,部署的機器只需要一般的內存配置即可。緩存的數據又比較多,需要單獨部署,甚至需要多臺組成集群。又比如系統比較大以后,需要各種模塊化,微服務化,每個服務都可以獨立演進,計算和數據分離也是比較常見的方式。另外不用擔心網絡io帶來的開銷,在沒有達到網絡帶寬瓶頸之前,網絡io都不是問題,延遲在ms級別,很劃算的。
2.redis作為緩存和kv數據庫還有持久化功能,斷電重啟后還可以恢復。當然如果你只是需要緩存機制你可以選擇自己編程維護一套緩存,看你自己的需要,代價就是你要自己實現緩存的機制,自動失效,緩存寫滿等等功能。
回答3:MongoDB也有純內存存儲引擎,也可以了解和試用。
Love MongoDB! Have Fun!
我很好奇,Redis的問題提交到了MongoDB的版面上,我附帶告知MongoDB也有類似的純內存存儲引擎,會有朋友表示不樂意和減1。
------------------------華麗的分割符--------------------------------
MongoDB中文社區線下活動繽紛,請猛戳下方:
2017華山論劍|MongoDB中文社區
三月份杭州站在即?。?! 感興趣的朋友火速報名?。?!
相關文章:
1. windows誤人子弟啊2. 冒昧問一下,我這php代碼哪里出錯了???3. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)4. python - linux怎么在每天的凌晨2點執行一次這個log.py文件5. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。6. 實現bing搜索工具urlAPI提交7. mysql優化 - MySQL如何為配置表建立索引?8. 如何用筆記本上的apache做微信開發的服務器9. 我在網址中輸入localhost/abc.php顯示的是not found是為什么呢?10. 關于mysql聯合查詢一對多的顯示結果問題
