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. 如何解決docker宿主機無法訪問容器中的服務?2. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????3. require后不用使用echo返回到微信服務器 嗎4. nginx - 如何將wordpress系統放在二級域名下5. javascript - 請問要如何修改 Node 的透明度嗎?6. javascript - 求助,nodeJS和koa2文檔對新手小白太不友好,一臉懵逼。。。7. css3 background顯示圖片的一部分8. vim中編輯HTML文件時換行不能縮進9. 在應用配置文件 app.php 中找不到’route_check_cache’配置項10. html按鍵開關如何提交我想需要的值到數據庫
