左手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

相關詞條

熱門詞條

聯絡我們