左手MongoDB,右手Redis——從入門到商業實戰

書籍信息,內容簡介,圖書目錄,

書籍信息

作譯者:謝乾坤
出版時間:2019-01千 字 數:476版次:01-01頁 數:340
開本:16開裝幀:I S B N :9787121358807
換版:
紙質書定價:¥79.0

內容簡介

本書針對MongoDB和Redis這兩個主流的NoSQL資料庫編寫,採用“理論+實踐”的形式編寫,總計45個實例。全書共分為4篇:第1篇,介紹了什麼是NoSQL、MongoDB和Redis相對於傳統關係型資料庫的優勢;第2篇,介紹了MongoDB與Redis的安裝方法和基礎操作,並使用員工信息管理系統和聊天室網站實踐MongoDB和Redis。第3篇,介紹了MongoDB與Redis的高級語法和套用;第4篇,使用MongoDB與Redis完整開發一個問答網站並逐步最佳化,是對前面知識的綜合套用。本書配有同步教學視頻。能幫助讀者快速而全面地了解每章的內容。本書還免費提供所有實例的原始碼及素材。這些代碼和素材不僅能方便讀者學習,而且也能為以後的工作提供便利。本書結構清晰、案例豐富、通俗易懂、實用性強。特別適合MongoDB和Redis的初學者與進階讀者作為自學教程。另外,本書也適合社會培訓學校作為培訓教材,還適合大中專院校的相關專業作為教學參考書。

圖書目錄

第1篇 基礎知識
-
第1章 進入MongoDB與Redis的世界 2
1.1 非關係型資料庫的產生背景與分類 2
╰1.1.1 關係型資料庫遇到的問題 2
╰1.1.2 非關係型資料庫的分類及特點 2
1.2 MongoDB與Redis可以做什麼 3
╰1.2.1 MongoDB適合做什麼 3
╰1.2.2 Redis適合做什麼 3
1.3 如何學習MongoDB和Redis 4
╰1.3.1 項目驅動,先用再學 4
╰1.3.2 系統梳理,由點到面 4
╰1.3.3 分清主次,不要在無謂的操作中浪費時間 5
╰1.3.4 在不同領域中嘗試 5
1.4 如何使用本書 5
╰1.4.1 本書的產品定位 5
╰1.4.2 本書適用的讀者群體 6
╰1.4.3 如何利用本書實例進行練習 6
-
第2章 數據存儲方式的演進 8
2.1 從檔案到MongoDB資料庫 8
╰2.1.1 使用檔案保存數據 8
╰2.1.2 使用MongoDB保存數據 9
2.2 從佇列Queue到Redis 9
╰2.2.1 了解“生產者/消費者”模型 9
╰2.2.2 實例1:使用Python實現佇列 10
╰2.2.3 Python的Queue及其缺陷 12
╰2.2.4 實例2:使用Redis替代Queue 12
本章小結 14
第2篇 快速入門
-
第3章 MongoDB 快速入門 16
3.1 MongoDB和SQL術語對比 16
3.2 安裝MongoDB 16
╰3.2.1 在Windows中安裝 16
╰3.2.2 在Linux中安裝 19
╰3.2.3 在macOS中安裝 21
3.3 MongoDB的圖形化管理軟體——Robo 3T 25
╰3.3.1 安裝 25
╰3.3.2 認識Robo 3T的界面 28
3.4 MongoDB的基本操作 29
╰3.4.1 實例3:創建資料庫與集合,寫入數據 29
╰3.4.2 實例4:查詢數據 36
╰3.4.3 實例5:修改數據 46
╰3.4.4 實例6:刪除數據 47
╰3.4.5 實例7:數據去重 49
3.5 使用Python操作MongoDB 51
╰3.5.1 連線資料庫 51
╰3.5.2 MongoDB命令在Python中的對應方法 53
╰3.5.3 實例8:插入數據到MongoDB 55
╰3.5.4 實例9:從MongoDB中查詢數據 55
╰3.5.5 實例10:更新/刪除MongoDB中的數據 56
3.6 MongoDB與Python不通用的操作 58
本章小結 64
-
第4章 實例11:用MongoDB開發員工信息管理系統 65
4.1 了解實例最終目標 65
4.2 準備工作 69
╰4.2.1 了解檔案結構 69
╰4.2.2 搭建項目運行環境 69
╰4.2.3 啟動項目 72
4.3 項目開發過程 74
╰4.3.1 生成初始數據 74
╰4.3.2 實現“查詢數據”功能 75
╰4.3.3 實現“添加數據”功能 79
╰4.3.4 實現“更新數據”功能 83
╰4.3.5 實現“刪除數據”功能 85
本章小結 88
第5章 Redis快速入門 89
5.1 安裝Redis 89
╰5.1.1 在Windows中安裝Redis 89
╰5.1.2 在Linux中安裝Redis 91
╰5.1.3 在macOS中安裝Redis 92
╰5.1.4 線上測試環境 93
5.2 字元串的創建、查詢和修改 94
╰5.2.1 使用redis-cli實現 94
╰5.2.2 使用Python實現 99
╰5.2.3 字元串的套用 103
5.3 列表的創建、查詢和修改 105
╰5.3.1 使用redis-cli實現 105
╰5.3.2 使用Python實現 110
╰5.3.3 列表的套用 116
5.4 集合的創建和修改 118
╰5.4.1 使用redis-cli實現 118
╰5.4.2 使用Python實現 127
╰5.4.3 集合的套用 132
本章小結 133
-
第6章 實例12:用Redis開發一個聊天室 134
6.1 了解實例的最終目標 134
6.2 準備工作 135
╰6.2.1 了解檔案結構 135
╰6.2.2 搭建項目運行環境 136
6.3 項目開發過程 139
╰6.3.1 實現登錄功能1:創建Redis的連線實例 139
╰6.3.2 實現登錄功能2:實現“檢查暱稱是否重複”功能 141
╰6.3.3 實現登錄功能3:實現“設定和獲取Token”功能 142
╰6.3.4 實現聊天室頁面1:實現“獲取聊天訊息”功能 145
╰6.3.5 實現聊天室頁面2:實現“傳送新信息”功能 148
╰6.3.6 實現聊天室頁面3:設定“刷屏檢查字元串” 151
╰6.3.7 實現聊天室頁面4:讀取刷屏限制的剩餘時間 153
本章小結 154
-
●第3篇 高級套用
-
第7章 MongoDB的高級語法 156
7.1 AND和OR操作 156
╰7.1.1 實例13:查詢同時符合兩個條件的人(AND操作) 156
╰7.1.2 實例14:查詢只符合其中任一條件的人(OR操作) 159
╰7.1.3 實例15:用Python實現MongoDB的AND與OR操作 162
7.2 查詢子文檔或數組中的數據 163
╰7.2.1 認識嵌入式文檔 163
╰7.2.2 實例16:嵌入式文檔的套用 164
╰7.2.3 認識數組欄位 167
╰7.2.4 實例17:數組套用——查詢數組包含與不包含“??”的數據 168
╰7.2.5 實例18:數組套用——根據數組長度查詢數據 170
╰7.2.6 實例19:數組套用——根據索引查詢數據 170
╰7.2.7 Python操作嵌入式文檔與數組欄位 172
7.3 MongoDB的聚合查詢 173
╰7.3.1 聚合的基本語法 173
╰7.3.2 實例20:篩選數據 174
╰7.3.3 實例21:篩選與修改欄位 177
╰7.3.4 實例22:分組操作 184
╰7.3.5 實例23:拆分數組 191
╰7.3.6 實例24:聯集合查詢 193
╰7.3.7 實例25:使用Python執行聚合操作 204
本章小結 205
-
第8章 MongoDB的最佳化和安全建議 206
8.1 提高MongoDB讀寫性能 206
╰8.1.1 實例26:“批量插入”與“逐條插入”數據,比較性能差異 206
╰8.1.2 實例27:“插入”與“更新”數據,比較性能差異 214
╰8.1.3 實例28:使用“索引”提高查詢速度 217
╰8.1.4 實例29:引入Redis,以降低MongoDB的讀取頻率 218
╰8.1.5 實例30:增添適當冗餘信息,以提高查詢速度 219
8.2 提高MongoDB的安全性 221
╰8.2.1 配置許可權管理機制 221
╰8.2.2 開放外網訪問 230
本章小結 233
-
第9章 Redis的高級數據結構 234
9.1 哈希表的功能和套用 234
╰9.1.1 實例31:使用Redis記錄用戶線上狀態 234
╰9.1.2 實例32:使用Python向哈希表中添加數據 239
╰9.1.3 實例33:使用Python從哈希表中讀取數據 241
╰9.1.4 實例34:使用Python判斷哈希表中是否存在某欄位,並獲取欄位數量 244
╰9.1.5 實例35:在Redis互動環境redis-cli中讀/寫哈希表 245

相關詞條

熱門詞條

聯絡我們