用大白話解釋緩存Redis +MongoDB是什么有什么用怎么用

Redis和MongoDB是什么?

Redis:像你家的“小冰箱”,專門存高頻使用的食物(數據)。它是基于內存的鍵值數據庫,讀寫速度極快(每秒超10萬次操作)。比如你每次打開手機App,用戶登錄信息可能就存在Redis里,秒級響應。

MongoDB:像“超大號收納箱”,專門存各種不規則的雜物(非結構化數據)。它是文檔型數據庫,用類似JSON的格式存數據,比如用戶信息、訂單記錄、傳感器日志等,適合數據量大且結構多變的場景 。

Redis有什么用?怎么用?

核心用途

緩存加速:把數據庫里頻繁訪問的數據(如商品詳情)存到Redis,減少數據庫壓力

會話存儲:用戶登錄狀態存Redis,避免每次請求都查數據庫

消息隊列:用List結構實現秒殺訂單排隊,避免系統被擠爆

實時排行榜:用有序集合(Sorted Set)存游戲積分,實時更新排名

簡單用法

安裝:官網下載Redis,啟動服務(redis-server),用redis-cli連上就能操作

存數據:

SET user:1001 "小明"  # 存字符串  
HSET user:profile 1001 age 25  # 存哈希(用戶資料)  
LPUSH orders "訂單A"  # 列表存訂單隊列  

查數據:

GET user:1001       # 取用戶信息  
ZRANGE leaderboard 0 10 WITHSCORES  # 查排行榜前10名  

MongoDB有什么用?怎么用?

核心用途

存非結構化數據:比如用戶動態(帶圖片、評論、位置信息)。
海量數據存儲:支持分布式擴展,存物聯網設備每天產生的TB級日志。
靈活查詢:支持復雜條件(如“附近5公里的餐廳”)和聚合分析(如每月銷售額統計)。

簡單用法

安裝:官網下載MongoDB,啟動服務(mongod),用mongo連上操作。

存數據

db.users.insert({  name: "小紅",  age: 28,  address: { city: "北京", street: "中關村" },  hobbies: ["爬山", "攝影"]  
})  // 存用戶信息(嵌套文檔+數組)  

查數據:

db.users.find({ "address.city": "北京" })  // 查北京的用戶  
db.orders.aggregate([  { $group: { _id: "$month", total: { $sum: "$amount" } } }  // 按月統計銷售額  
])  

Redis和MongoDB怎么配合用?

典型場景:電商系統

Redis負責“快”:
緩存商品詳情頁。
存用戶購物車(Hash結構) 。
秒殺庫存計數器(避免超賣)。
MongoDB負責“穩”:
存訂單詳情(含商品、支付、物流信息)。
用戶行為日志(用于大數據分析) 。
商品評論(帶嵌套回復和點贊數)。
互補邏輯:
高頻讀寫(如訪問量、庫存)交給Redis;
低頻復雜數據(如訂單記錄、日志)交給MongoDB。

注意事項

Redis別當硬盤用:內存貴,只存高頻小數據(如會話、計數器),別存電影文件

MongoDB別強求事務:跨文檔操作可能不一致,重要資金流水還是用MySQL

數據備份:Redis定期用RDB快照或AOF日志備份。MongoDB開副本集,防止硬盤故障丟數據 。

Redis是“快槍手”,專治高并發、小數據(如緩存、隊列)

MongoDB是“收納大師”,專治大數據、非結構化(如日志、用戶資料)。

兩者配合,一個管“熱數據”,一個管“冷數據”,能讓系統又快又穩!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72056.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72056.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72056.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自然語言處理:詞頻-逆文檔頻率

介紹 大家好,博主又來給大家分享知識了。本來博主計劃完成稠密向量表示的內容分享后,就開啟自然語言處理中文本表示的講解。可在整理分享資料的時候,博主發現還有個知識點,必須得單獨拎出來好好說道說道。 這就是TF-IDF&#xf…

架構思維:架構的演進之路

文章目錄 引言為什么架構思維如此重要架構師的特點軟件架構的知識體系如何提升架構思維大型互聯網系統架構的演進之路一、大型互聯網系統的特點二、系統處理能力提升的兩種途徑三、大型互聯網系統架構演化過程四、總結 引言 在軟件開發行業中,有很多技術人可能會問…

DeepSeek-R1-Zero:基于基礎模型的強化學習

注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《自然語言處理原理與實戰》(人工智能科學與技術叢書)【陳敬雷編著】【清華大學出版社】 文章目錄 DeepSeek大模型技術系列四DeepSeek大模型技術系列四》DeepSeek-…

Metal學習筆記八:紋理

到目前為止,您已經學習了如何使用片段函數和著色器為模型添加顏色和細節。另一種選擇是使用圖像紋理,您將在本章中學習如何操作。更具體地說,您將了解: ? UV 坐標:如何展開網格,以便可以對其應用紋理。 ?…

Dify使用和入門

第一步:了解 Dify 在開始之前,先簡單了解一下 Dify 是什么: Dify 是一個開源的 LLM 應用開發平臺,專注于幫助開發者快速構建生產級的生成式 AI 應用。它支持知識庫集成、RAG(檢索增強生成)技術、復雜工作…

threeJS——安裝以及三要素

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、安裝二、三要素1.場景1.1創建場景1.2向場景添加元素1.3場景屬性 2.相機2.1相機特點2.2正交相機2.3空間布局2.4小姐操作 3.渲染器 總結 前言 本章簡單介紹前…

畢業項目推薦:基于yolov8/yolo11的野生菌菇檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示:功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出(xls格式)功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

【精華】為什么class在前端開發中不常用?

為什么class在前端開發中不常用? js是一種基于原型的語言。它的對象繼承是通過 原型鏈(prototype chain)實現的,每個對象都有一個 proto 屬性指向它的原型。(大多數傳統面向對象語言(如 Java、C、Python、…

【六祎 - Note】SQL備忘錄;DDL,DML,DQL,DCL

SQL備忘錄 from to : 點擊訪問源地址

阿里云物聯網獲取設備屬性api接口:QueryDevicePropertyData

阿里云物聯網接口:QueryDevicePropertyData 說明:調用該接口查詢指定設備或數字孿生節點,在指定時間段內,單個屬性的數據 比如提取上傳到物聯網的溫度數據 api文檔:QueryDevicePropertyData_物聯網平臺_API文檔-阿里…

需求和開發模型

文章目錄 什么是需求?用戶需求軟件需求用戶需求和軟件需求的不同 開發模型什么是“模型”?軟件的生命周期常見的開發模型瀑布模型(Waterfall Model)螺旋模型增量模型、迭代模型敏捷模型 測試模型V 模型W 模型(雙 V 模型…

21-發糖果

n 個孩子站成一排。給你一個整數數組 ratings 表示每個孩子的評分。 你需要按照以下要求,給這些孩子分發糖果: 每個孩子至少分配到 1 個糖果。 相鄰兩個孩子評分更高的孩子會獲得更多的糖果。 請你給每個孩子分發糖果,計算并返回需要準備的 最…

sql深入學習

文章目錄 前言知識學習注釋的兩種形式字符型注入萬能密碼 布爾盲注報錯注入堆疊注入時間盲注二次注入 小技巧 前言 這次學習建立在對數據庫有基本的認識,了解基礎的增刪改查語句,數字型注入和字符型注入的基礎上,進一步深入學習知識&#xf…

利用three.js在Vue項目中展示重構的stl模型文件

一、目的 為了在前端頁面展示3d打印機打印過程 二、前期準備 完整模型的stl文件和模型切割成的n個stl文件 models文件夾下的文件就是切割后的stl文件 三、代碼 <template><div ref"threeContainer" class"three-container"></div><…

【Eureka 緩存機制】

今天簡單介紹一下Eureka server 的緩存機制吧?????? 一、先來個小劇場&#xff1a;服務發現的"拖延癥" 想象你是個外賣小哥&#xff08;客戶端&#xff09;&#xff0c;每次接單都要打電話問調度中心&#xff08;Eureka Server&#xff09;&#xff1a;“現在…

Python--內置模塊和開發規范(下)

2. 開發規范 2.1 單文件應用 文件結構示例 # 文件注釋 import os import jsonDB_PATH "data.json" # 常量放頂部def load_data():"""函數注釋&#xff1a;加載數據"""if os.path.exists(DB_PATH):with open(DB_PATH, "r"…

go設計模式

劉&#xff1a;https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 單例模式 2. 簡單工廠模式 代碼邏輯&#xff1a; 原始&#xff1a;業務邏輯層 —> 基礎類模塊工廠&#xff1a;業務邏輯層 —> 工廠模塊 —> 基礎類模塊…

搭建數字化生態平臺公司:痛點與蚓鏈解決方案

在數字技術突飛猛進的當下&#xff0c;數字化生態平臺成為眾多企業實現創新發展、拓展業務版圖的 “秘密工具”。今天&#xff0c;咱們就一起來聊聊搭建這類平臺的公司&#xff0c;看看它們有啥獨特之處&#xff0c;又面臨哪些難題。 一、面臨的痛點 &#xff08;一&#xff0…

標記符號“<”和“>”符號被稱為“尖括號”或“角括號”

你提到的“<”和“>”符號被稱為“尖括號”或“角括號”。它們常用于編程語言中表示類型參數&#xff08;如泛型&#xff09;、HTML標簽&#xff08;如<div>&#xff09;、數學中的不等式&#xff08;如< 5&#xff09;等。 好的&#xff0c;我來用通俗的方式解…

云平臺DeepSeek滿血版:引領AI推理革新,開啟智慧新時代

引言&#xff1a;人工智能的未來——云平臺的卓越突破 在當今科技飛速發展的時代&#xff0c;人工智能&#xff08;AI&#xff09;技術正深刻地改變著我們生活與工作方式的方方面面。作為AI領域的創新者與領航者&#xff0c;云平臺始終走在技術前沿&#xff0c;憑借無窮的熱情…