新書推薦:
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:HK$
123.1
《
山西寺观艺术壁画精编卷
》
售價:HK$
1680.0
《
中国摄影 中式摄影的独特魅力
》
售價:HK$
1097.6
《
山西寺观艺术彩塑精编卷
》
售價:HK$
1680.0
《
积极心理学
》
售價:HK$
55.8
《
自由,不是放纵
》
售價:HK$
54.9
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:HK$
277.8
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
201.6
|
編輯推薦: |
通过45实例来讲解,培养动手能力
涉及 MongoDB和 Redis
带着具体任务去动手,引领式学习
层次清晰、语句简洁,阅读流畅
大项目:搭建一个完整的问答网站
|
內容簡介: |
本书配有同步教学视频。能帮助读者快速而全面地了解每章的内容。
-
本书针对MongoDB和Redis这两个主流的NoSQL数据库编写,采用理论 实践的形式编写,共计45个实例。
-
全书共分为4篇:
-第1篇,介绍了什么是NoSQL、MongoDB和Redis相对于传统关系型数据库的优势;
-第2篇,介绍了MongoDB与Redis的安装方法和基础操作,并使用员工信息管理系统和聊天室网站实践MongoDB和Redis。
-第3篇,介绍了MongoDB与Redis的高级语法和应用;
-第4篇,使用MongoDB与Redis完整开发一个问答网站并逐步优化,是对前面知识的综合应用。本书配有同步教学视频。能帮助读者快速而全面地了解每章的内容。
|
目錄:
|
●第1篇基础知识
-
第1章进入MongoDB与Redis的世界2
1.1非关系型数据库的产生背景与分类2
?t1.1.1关系型数据库遇到的问题2
?t1.1.2非关系型数据库的分类及特点2
1.2MongoDB与Redis可以做什么3
?t1.2.1MongoDB适合做什么3
?t1.2.2Redis适合做什么3
1.3如何学习MongoDB和Redis4
?t1.3.1项目驱动,先用再学4
?t1.3.2系统梳理,由点到面4
?t1.3.3分清主次,不要在无谓的操作中浪费时间5
?t1.3.4在不同领域中尝试5
1.4如何使用本书5
?t1.4.1本书的产品定位5
?t1.4.2本书适用的读者群体6
?t1.4.3如何利用本书实例进行练习6
-
第2章数据存储方式的演进8
2.1从文件到MongoDB数据库8
?t2.1.1使用文件保存数据8
?t2.1.2使用MongoDB保存数据9
2.2从队列Queue到Redis9
?t2.2.1了解生产者消费者模型9
?t2.2.2实例1:使用Python实现队列10
?t2.2.3Python的Queue及其缺陷12
?t2.2.4实例2:使用Redis替代Queue12
本章小结14
-
●第2篇快速入门
-
第3章MongoDB 快速入门16
3.1MongoDB和SQL术语对比16
3.2安装MongoDB16
?t3.2.1在Windows中安装16
?t3.2.2在Linux中安装19
?t3.2.3在macOS中安装21
3.3MongoDB的图形化管理软件Robo 3T25
?t3.3.1安装25
?t3.3.2认识Robo 3T的界面28
3.4MongoDB的基本操作29
?t3.4.1实例3:创建数据库与集合,写入数据29
?t3.4.2实例4:查询数据36
?t3.4.3实例5:修改数据46
?t3.4.4实例6:删除数据47
?t3.4.5实例7:数据去重49
3.5使用Python操作MongoDB51
?t3.5.1连接数据库51
?t3.5.2MongoDB命令在Python中的对应方法53
?t3.5.3实例8:插入数据到MongoDB55
?t3.5.4实例9:从MongoDB中查询数据55
?t3.5.5实例10:更新删除MongoDB中的数据56
3.6MongoDB与Python不通用的操作58
本章小结64
-
第4章实例11:用MongoDB开发员工信息管理系统65
4.1了解实例最终目标65
4.2准备工作69
?t4.2.1了解文件结构69
?t4.2.2搭建项目运行环境69
?t4.2.3启动项目72
4.3项目开发过程74
?t4.3.1生成初始数据74
?t4.3.2实现查询数据功能75
?t4.3.3实现添加数据功能79
?t4.3.4实现更新数据功能83
?t4.3.5实现删除数据功能85
本章小结88
-
第5章Redis快速入门89
5.1安装Redis89
?t5.1.1在Windows中安装Redis89
?t5.1.2在Linux中安装Redis91
?t5.1.3在macOS中安装Redis92
?t5.1.4在线测试环境93
5.2字符串的创建、查询和修改94
?t5.2.1使用redis-cli实现94
?t5.2.2使用Python实现99
?t5.2.3字符串的应用103
5.3列表的创建、查询和修改105
?t5.3.1使用redis-cli实现105
?t5.3.2使用Python实现110
?t5.3.3列表的应用116
5.4集合的创建和修改118
?t5.4.1使用redis-cli实现118
?t5.4.2使用Python实现127
?t5.4.3集合的应用132
本章小结133
-
第6章实例12:用Redis开发一个聊天室134
6.1了解实例的最终目标134
6.2准备工作135
?t6.2.1了解文件结构135
?t6.2.2搭建项目运行环境136
6.3项目开发过程139
?t6.3.1实现登录功能1:创建Redis的连接实例139
?t6.3.2实现登录功能2:实现检查昵称是否重复功能141
?t6.3.3实现登录功能3:实现设置和获取Token功能142
?t6.3.4实现聊天室页面1:实现获取聊天消息功能145
?t6.3.5实现聊天室页面2:实现发送新信息功能148
?t6.3.6实现聊天室页面3:设定刷屏检查字符串151
?t6.3.7实现聊天室页面4:读取刷屏限制的剩余时间153
本章小结154
-
●第3篇高级应用
-
第7章MongoDB的高级语法156
7.1AND和OR操作156
?t7.1.1实例13:查询同时符合两个条件的人(AND操作)156
?t7.1.2实例14:查询只符合其中任一条件的人(OR操作)159
?t7.1.3实例15:用Python实现MongoDB的AND与OR操作162
7.2查询子文档或数组中的数据163
?t7.2.1认识嵌入式文档163
?t7.2.2实例16:嵌入式文档的应用164
?t7.2.3认识数组字段167
?t7.2.4实例17:数组应用查询数组包含与不包含??的数据168
?t7.2.5实例18:数组应用根据数组长度查询数据170
?t7.2.6实例19:数组应用根据索引查询数据170
?t7.2.7Python操作嵌入式文档与数组字段172
7.3MongoDB的聚合查询173
?t7.3.1聚合的基本语法173
?t7.3.2实例20:筛选数据174
?t7.3.3实例21:筛选与修改字段177
?t7.3.4实例22:分组操作184
?t7.3.5实例23:拆分数组191
?t7.3.6实例24:联集合查询193
?t7.3.7实例25:使用Python执行聚合操作204
本章小结205
-
第8章MongoDB的优化和安全建议206
8.1提高MongoDB读写性能206
?t8.1.1实例26:批量插入与逐条插入数据,比较性能差异206
?t8.1.2实例27:插入与更新数据,比较性能差异214
?t8.1.3实例28:使用索引提高查询速度217
?t8.1.4实例29:引入Redis,以降低MongoDB的读取频率218
?t8.1.5实例30:增添适当冗余信息,以提高查询速度219
8.2提高MongoDB的安全性221
?t8.2.1配置权限管理机制221
?t8.2.2开放外网访问230
本章小结233
-
第9章Redis的高级数据结构234
9.1哈希表的功能和应用234
?t9.1.1实例31:使用Redis记录用户在线状态234
?t9.1.2实例32:使用Python向哈希表中添加数据239
?t9.1.3实例33:使用Python从哈希表中读取数据241
?t9.1.4实例34:使用Python判断哈希表中是否存在某字段,并获取字段数量244
?t9.1.5实例35:在Redis交互环境redis-cli中读写哈希表245
9.2发布消息订阅频道247
?t9.2.1实例36:实现一对多的消息发布247
?t9.2.2实例37:在Python中发布消息订阅频道252
?t9.2.3实例38:在redis-cli中发布消息订阅频道254
9.3有序集合255
?t9.3.1实例39:实现排行榜功能256
?t9.3.2实例40:使用Python读写有序集合258
?t9.3.3实例41:在Redis交互环境redis-cli中使用有序集合264
9.4Redis的安全管理266
?t9.4.1实例42:设置密码并开放外网访问266
?t9.4.2禁用危险命令269
本章小结269
-
●第4篇商业实战
-
第10章实例43:搭建一个类似知乎的问答网站272
10.1了解实例的最终目标272
10.2准备工作274
?t10.2.1了解文件结构274
?t10.2.2搭建实例运行环境275
?t10.2.3运行项目276
10.3项目开发过程278
?t10.3.1生成初始数据278
?t10.3.2实现查询问题列表功能279
?t10.3.3实现查询回答功能281
?t10.3.4实现提问与回答功能282
?t10.3.5实现点赞与点踩功能283
本章小结284
-
第11章实例44:使用Redis存储网站会话(接第10章实例)285
11.1了解实例的最终目标285
?t11.1.1注册账号285
?t11.1.2登录后回答问题287
?t11.1.3修改回答287
?t11.1.4用户回答同一个问题的次数287
?t11.1.5修改提问288
11.2准备工作288
?t11.2.1了解文件结构288
?t11.2.2搭建项目运行环境290
?t11.2.3运行实例290
11.3开发过程292
?t11.3.1会话管理的基本原理292
?t11.3.2保存与读取用户信息294
?t11.3.3更新问题和回答295
?t11.3.4检查用户名是否已经注册295
?t11.3.5在Redis中储存与删除Session295
?t11.3.6从Redis中获取Session296
?t11.3.7记录和检查用户回答是否回答了某个问题297
本章小结297
-
第12章实例45:大规模验重和问答排序(接第11章实例)298
12.1了解实例的最终目标298
?t12.1.1账号验重298
?t12.1.2动态排序299
?t12.1.3注销登录功能299
?t12.2.4翻页功能300
12.2准备工作300
?t12.2.1了解文件结构300
?t12.2.2搭建项目运行环境302
?t12.2.3运行项目302
12.3开发过程304
?t12.3.1了解布隆过滤器的基本原理304
?t12.3.2使用布隆过滤器对注册用户进行验重308
?t12.3.3让问题与回答根据点赞数动态排序311
本章小结317
-
第13章重构和优化319
13.1划分代码层次319
?t13.1.1寻找问题319
?t13.1.2如何重构321
13.2MongoDB的常见陷阱322
?t13.2.1默认超时时间322
?t13.2.2硬盘空间的使用325
13.3使用Redis的注意事项326
?t13.3.1多Redis实例与单Redis实例多数据库的差异326
?t13.3.2尽可能为每个Key设置过期时间328
本章小结329
|
內容試閱:
|
本书使用通俗易懂的语言进行讲解,从基础操作到高级应用,再到基于MongoDB与Redis开发多个网站。
|
|