网站颜色:

官方正版 左手MongoDB 右手Redis 从入门到商业实战 聊天室员工信息管理系统问题网站开发视频教程书籍网站开发软件安装操作书籍

  • 产品名称:左手MongoDB右手Redis—...
  • 品牌:电子工业出版社
  • 书名:左手MongoDB右手Redis——从入门到商业实战
  • 作者:谢乾坤
  • 定价:79.00元
  • 书名:左手MongoDB右手Redis——从入门到商业实战
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:电子工业出版社


内容介绍

    本书针对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

9.2  发布消息/订阅频道 247

╰9.2.1  实例36:实现一对多的消息发布 247

╰9.2.2  实例37:在Python中发布消息/订阅频道 252

╰9.2.3  实例38:在redis-cli中发布消息/订阅频道 254

9.3  有序集合 255

╰9.3.1  实例39:实现排行榜功能 256

╰9.3.2  实例40:使用Python读写有序集合 258

╰9.3.3  实例41:在Redis交互环境redis-cli中使用有序集合 264

9.4  Redis的安全管理 266

╰9.4.1  实例42:设置密码并开放外网访问 266

╰9.4.2  禁用危险命令 269

本章小结 269

-

●第4篇  商业实战

-

第10章  实例43:搭建一个类似“知乎”的问答网站 272

10.1  了解实例的 终目标 272

10.2  准备工作 274

╰10.2.1  了解文件结构 274

╰10.2.2  搭建实例运行环境 275

╰10.2.3  运行项目 276

10.3  项目开发过程 278

╰10.3.1  生成初始数据 278

╰10.3.2  实现“查询问题列表”功能 279

╰10.3.3  实现“查询回答”功能 281

╰10.3.4  实现“提问与回答”功能 282

╰10.3.5  实现“点赞”与“点踩”功能 283

本章小结 284

-

第11章  实例44:使用Redis存储网站会话(接第10章实例) 285

11.1  了解实例的 终目标 285

╰11.1.1  注册账号 285

╰11.1.2  登录后回答问题 287

╰11.1.3  修改回答 287

╰11.1.4  用户回答同一个问题的次数 287

╰11.1.5  修改提问 288

11.2  准备工作 288

╰11.2.1  了解文件结构 288

╰11.2.2  搭建项目运行环境 290

╰11.2.3  运行实例 290

11.3  开发过程 292

╰11.3.1  会话管理的基本原理 292

╰11.3.2  保存与读取用户信息 294

╰11.3.3  更新问题和回答 295

╰11.3.4  检查用户名是否已经注册 295

╰11.3.5  在Redis中储存与删除Session 295

╰11.3.6  从Redis中获取Session 296

╰11.3.7  记录和检查“用户回答是否回答了某个问题” 297

本章小结 297

-

第12章  实例45:大规模验重和问答排序(接第11章实例) 298

12.1  了解实例的 终目标 298

╰12.1.1  账号验重 298

╰12.1.2  动态排序 299

╰12.1.3  注销登录功能 299

╰12.2.4  翻页功能 300

12.2  准备工作 300

╰12.2.1  了解文件结构 300

╰12.2.2  搭建项目运行环境 302

╰12.2.3  运行项目 302

12.3  开发过程 304

╰12.3.1  了解“布隆过滤器”的基本原理 304

╰12.3.2  使用“布隆过滤器”对注册用户进行验重 308

╰12.3.3  让“问题”与“回答”根据点赞数动态排序 311

本章小结 317

-

第13章  重构和优化 319

13.1  划分代码层次 319

╰13.1.1  寻找问题 319

╰13.1.2  如何重构 321

13.2  MongoDB的常见陷阱 322

╰13.2.1  默认超时时间 322

╰13.2.2  硬盘空间的使用 325

13.3  使用Redis的注意事项 326

╰13.3.1  “多Redis实例”与“单Redis实例多数据库”的差异 326

╰13.3.2  尽可能为每个Key设置过期时间 328

本章小结 329




作者介绍

    网易(杭州)网络有限公司-高级数据挖掘工程师《Python爬虫开发 从入门到实炸微课版)》人民邮电出版社(咨询特价)


关联

对MongoDB数据库和Redis数据库有兴趣并且有Python基础的读者。_310x310.jpg
热门设计服务