幫助中心 | 我的帳號 | 關於我們

左手MongoDB右手Redis(從入門到商業實戰)

  • 作者:編者:謝乾坤
  • 出版社:電子工業
  • ISBN:9787121358807
  • 出版日期:2019/02/01
  • 裝幀:平裝
  • 頁數:328
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

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

作者介紹
編者:謝乾坤
    謝乾坤(Kingname),網易高級數據挖掘工程師,資深爬蟲工程師。     多年爬蟲開發、數據分析和NoSOL資料庫使用經驗。     開源運動支持者,在Github擁有多個開源項目。     曾在多家知名公司從事爬蟲開發工作,併為國內外眾多基金公司與投資公司提供數據支持。     已出版著作:《Python爬蟲開發從入門到實戰》     運營公眾號「未聞C0de」(itskingname)

目錄
第1篇  基礎知識
  第1章  進入MongoDB與Redis的世界
    1.1  非關係型資料庫的產生背景與分類
      1.1.1  關係型資料庫遇到的問題
      1.1.2  非關係型資料庫的分類及特點
    1.2  MongoDB與Redis可以做什麼
      1.2.1  MongoDB適合做什麼
      1.2.2  Redis適合做什麼
    1.3  如何學習MongoDB和Redis
      1.3.1  項目驅動,先用再學
      1.3.2  系統梳理,由點到面
      1.3.3  分清主次,不要在無謂的操作中浪費時間
      1.3.4  在不同領域中嘗試
    1.4  如何使用本書
      1.4.1  本書的產品定位
      1.4.2  本書適用的讀者群體
      1.4.3  如何利用本書實例進行練習
  第2章  數據存儲方式的演進
    2.1  從文件到MongoDB資料庫
      2.1.1  使用文件保存數據
      2.1.2  使用MongoDB保存數據
    2.2  從隊列Queue到Redis
      2.2.1  了解「生產者/消費者」模型
      2.2.2  實例1:使用Python實現隊列
      2.2.3  Python的Queue及其缺陷
      2.2.4  實例2:使用Redis替代Queue
    本章小結
第2篇  快速入門
  第3章  MongoDB 快速入門
    3.1  MongoDB和SQL術語對比
    3.2  安裝MongoDB
      3.2.1  在Windows中安裝
      3.2.2  在Linux中安裝
      3.2.3  在macOS中安裝
    3.3  MongoDB的圖形化管理軟體——Robo 3T
      3.3.1  安裝
      3.3.2  認識Robo 3T的界面
    3.4  MongoDB的基本操作
      3.4.1  實例3:創建資料庫與集合,寫入數據
      3.4.2  實例4:查詢數據
      3.4.3  實例5:修改數據
      3.4.4  實例6:刪除數據
      3.4.5  實例7:數據去重
    3.5  使用Python操作MongoDB
      3.5.1  連接資料庫
      3.5.2  MongoDB命令在Python中的對應方法
      3.5.3  實例8:插入數據到MongoDB
      3.5.4  實例9:從MongoDB中查詢數據
      3.5.5  實例10:更新/刪除MongoDB中的數據
    3.6  MongoDB與Python不通用的操作

    本章小結
  第4章  實例11:用MongoDB開發員工信息管理系統
    4.1  了解實例最終目標
    4.2  準備工作
      4.2.1  了解文件結構
      4.2.2  搭建項目運行環境
      4.2.3  啟動項目
    4.3  項目開發過程
      4.3.1  生成初始數據
      4.3.2  實現「查詢數據」功能
      4.3.3  實現「添加數據」功能
      4.3.4  實現「更新數據」功能
      4.3.5  實現「刪除數據」功能
    本章小結
  第5章  Redis快速入門
    5.1  安裝Redis
      5.1.1  在Windows中安裝Redis
      5.1.2  在Linux中安裝Redis
      5.1.3  在macOS中安裝Redis
      5.1.4  在線測試環境
    5.2  字元串的創建、查詢和修改
      5.2.1  使用rediscli實現
      5.2.2  使用Python實現
      5.2.3  字元串的應用
    5.3  列表的創建、查詢和修改
      5.3.1  使用rediscli實現
      5.3.2  使用Python實現
      5.3.3  列表的應用
    5.4  集合的創建和修改
      5.4.1  使用rediscli實現
      5.4.2  使用Python實現
      5.4.3  集合的應用
    本章小結
  第6章  實例12:用Redis開發一個聊天室
    6.1  了解實例的最終目標
    6.2  準備工作
      6.2.1  了解文件結構
      6.2.2  搭建項目運行環境
    6.3  項目開發過程
      6.3.1  實現登錄功能1:創建Redis的連接實例
      6.3.2  實現登錄功能2:實現「檢查昵稱是否重複」功能
      6.3.3  實現登錄功能3:實現「設置和獲取Token」功能
      6.3.4  實現聊天室頁面1:實現「獲取聊天消息」功能
      6.3.5  實現聊天室頁面2:實現「發送新信息」功能
      6.3.6  實現聊天室頁面3:設定「刷屏檢查字元串」
      6.3.7  實現聊天室頁面4:讀取刷屏限制的剩餘時間
    本章小結
第3篇  高級應用
  第7章  MongoDB的高級語法
    7.1  AND和OR操作

      7.1.1  實例13:查詢同時符合兩個條件的人(AND操作)
      7.1.2  實例14:查詢只符合其中任一條件的人(OR操作)
      7.1.3  實例15:用Python實現MongoDB的AND與OR操作
    7.2  查詢子文檔或數組中的數據
      7.2.1  認識嵌入式文檔
      7.2.2  實例16:嵌入式文檔的應用
      7.2.3  認識數組欄位
      7.2.4  實例17:數組應用——查詢數組包含與不包含「??」的數據
      7.2.5  實例18:數組應用——根據數組長度查詢數據
      7.2.6  實例19:數組應用——根據索引查詢數據
      7.2.7  Python操作嵌入式文檔與數組欄位
    7.3  MongoDB的聚合查詢
      7.3.1  聚合的基本語法
      7.3.2  實例20:篩選數據
      7.3.3  實例21:篩選與修改欄位
      7.3.4  實例22:分組操作
      7.3.5  實例23:拆分數組
      7.3.6  實例24:聯集合查詢
      7.3.7  實例25:使用Python執行聚合操作
    本章小結
  第8章  MongoDB的優化和安全建議
    8.1  提高MongoDB讀寫性能
      8.1.1  實例26:「批量插入」與「逐條插入」數據,比較性能差異
      8.1.2  實例27:「插入」與「更新」數據,比較性能差異
      8.1.3  實例28:使用「索引」提高查詢速度
      8.1.4  實例29:引入Redis,以降低MongoDB的讀取頻率
      8.1.5  實例30:增添適當冗余信息,以提高查詢速度
    8.2  提高MongoDB的安全性
      8.2.1  配置許可權管理機制
      8.2.2  開放外網訪問
    本章小結
  第9章  Redis的高級數據結構
    9.1  哈希表的功能和應用
      9.1.1  實例31:使用Redis記錄用戶在線狀態
      9.1.2  實例32:使用Python向哈希表中添加數據
      9.1.3  實例33:使用Python從哈希表中讀取數據
      9.1.4  實例34:使用Python判斷哈希表中是否存在某欄位,並獲取欄位數量
      9.1.5  實例35:在Redis交互環境rediscli中讀/寫哈希表
    9.2  發布消息/訂閱頻道
      9.2.1  實例36:實現一對多的消息發布
      9.2.2  實例37:在Python中發布消息/訂閱頻道
      9.2.3  實例38:在rediscli中發布消息/訂閱頻道
    9.3  有序集合
      9.3.1  實例39:實現排行榜功能
      9.3.2  實例40:使用Python讀寫有序集合
      9.3.3  實例41:在Redis交互環境rediscli中使用有序集合
    9.4  Redis的安全管理
      9.4.1  實例42:設置密碼並開放外網訪問
      9.4.2  禁用危險命令
    本章小結

第4篇  商業實戰
  第10章  實例43:搭建一個類似「知乎」的問答網站
    10.1  了解實例的最終目標
    10.2  準備工作
      10.2.1  了解文件結構
      10.2.2  搭建實例運行環境
      10.2.3  運行項目
    10.3  項目開發過程
      10.3.1  生成初始數據
      10.3.2  實現「查詢問題列表」功能
      10.3.3  實現「查詢回答」功能
      10.3.4  實現「提問與回答」功能
      10.3.5  實現「點贊」與「點踩」功能
    本章小結
  第11章  實例44:使用Redis存儲網站會話(接第10章實例)
    11.1  了解實例的最終目標
      11.1.1  註冊賬號
      11.1.2  登錄后回答問題
      11.1.3  修改回答
      11.1.4  用戶回答同一個問題的次數
      11.1.5  修改提問
    11.2  準備工作
      11.2.1  了解文件結構
      11.2.2  搭建項目運行環境
      11.2.3  運行實例
    11.3  開發過程
      11.3.1  會話管理的基本原理
      11.3.2  保存與讀取用戶信息
      11.3.3  更新問題和回答
      11.3.4  檢查用戶名是否已經註冊
      11.3.5  在Redis中儲存與刪除Session
      11.3.6  從Redis中獲取Session
      11.3.7  記錄和檢查「用戶回答是否回答了某個問題」
    本章小結
  第12章  實例45:大規模驗重和問答排序(接第11章實例)
    12.1  了解實例的最終目標
      12.1.1  賬號驗重
      12.1.2  動態排序
      12.1.3  註銷登錄功能
      12.2.4  翻頁功能
    12.2  準備工作
      12.2.1  了解文件結構
      12.2.2  搭建項目運行環境
      12.2.3  運行項目
    12.3  開發過程
      12.3.1  了解「布隆過濾器」的基本原理
      12.3.2  使用「布隆過濾器」對註冊用戶進行驗重
      12.3.3  讓「問題」與「回答」根據點贊數動態排序
    本章小結
  第13章  重構和優化

    13.1  劃分代碼層次
      13.1.1  尋找問題
      13.1.2  如何重構
    13.2  MongoDB的常見陷阱
      13.2.1  默認超時時間
      13.2.2  硬碟空間的使用
    13.3  使用Redis的注意事項
      13.3.1  「多Redis實例」與「單Redis實例多資料庫」的差異
      13.3.2  盡可能為每個Key設置過期時間
    本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032