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. python - django 里自定義的 login 方法,如何使用 login_required()2. android-studio - Android 動態壁紙LayoutParams問題3. sql語句如何按or排序取出記錄4. angular.js - 不適用其他構建工具,怎么搭建angular1項目5. 主從備份 - 跪求mysql 高可用主從方案6. python如何不改動文件的情況下修改文件的 修改日期7. mysql優化 - mysql count(id)查詢速度如何優化?8. css3 - [CSS] 動畫效果 3D翻轉bug9. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?10. node.js - node_moduls太多了
