𝔖 Scriptorium
✦   LIBER   ✦

📁

从零开始学Redis

✍ Scribed by 高洪涛,刘河飞


Publisher
电子工业出版社
Year
2019
Tongue
Chinese
Leaves
396
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Redis 数据库是目前比较热门的数据库,拥有巨大的用户量。本书主要分 3 部分讲解 Redis
数据库。第一部分 Redis 初始篇,详细介绍了 Redis 的数据类型,以及 Redis 的大部分命令,并
结合实际操作进行了演示。第二部分 Redis 进阶篇,深入讲解了 Redis 的客户端、服务器端、数
据结构的底层,以及 Redis 的排序、事务、持久化、集群等相关功能,同时讲解了 Redis 的其他
高级功能,如慢查询、流水线、地理位置、位图等,并结合实际操作,步步演示。第三部分 Redis
实战篇,分别介绍了使用 Java、SpringBoot、Python 来操作 Redis 的实例,以帮助读者更好地学
习 Redis。通过阅读本书,读者可以快速掌握 Redis 的相关命令及功能用法,同时结合实战学习,
可以将 Redis 熟练应用于实际的生产开发中。
本书面向大多数软件开发者,如 Redis 初学者,或者具有相关后台开发经验的开发者。

✦ Table of Contents


扉页
版权页
前言
目录
第一部分 Redis初始篇
第1章 初识NoSQL
1.1 什么是NoSQL
1.2 NoSQL与传统关系型数据库的比较
1.3 在什么应用场景下使用NoSQL
1.4 NoSQL的数据模型
1.5 NoSQL数据库的分类
1.5.1 NoSQL数据库分类简介
1.5.2 各类NoSQL数据库的比较
第2章 认识Redis
2.1 Redis简介
2.1.1 Redis的由来
2.1.2 什么是Redis
2.1.3 Redis的特性
2.1.4 Redis的使用场景
2.2 搭建Redis环境
2.2.1 在Window环境下搭建
2.2.2 在Linux环境下搭建
2.3 Redis客户端
2.3.1 命令行客户端
2.3.2 可视化客户端
2.3.3 编程客户端
2.4 Redis的启动方式
2.4.1 在Window环境下的启动方式
2.4.2 在Linux环境下的启动方式
第3章 Redis数据类型
3.1 Redis数据类型之字符串(String)命令
3.1.1 设置键值对
3.1.2 获取键值对
3.1.3 键值对的偏移量
3.1.4 设置键的生存时间
3.1.5 键值对的值操作
3.1.6 键值对的计算
3.1.7 键值对的值增量
3.2 Redis数据类型之哈希(Hash)命令
3.2.1 设置哈希表域的值
3.2.2 获取哈希表中的域和值
3.2.3 哈希表统计
3.2.4 为哈希表中的域加上增量值
3.2.5 删除哈希表中的域
3.3 Redis数据类型之列表(List)命令
3.3.1 向列表中插入值
3.3.2 获取列表元素
3.3.3 删除列表元素
3.3.4 移动列表
3.3.5 列表模式
3.4 Redis数据类型之集合(Set)命令
3.4.1 向集合中添加元素
3.4.2 获取集合元素
3.4.3 集合运算
3.4.4 删除集合元素
3.5 Redis数据类型之有序集合(Sorted Set)命令
3.5.1 添加元素到有序集合中
3.5.2 获取有序集合元素
3.5.3 有序集合排名
3.5.4 有序集合运算
3.5.5 删除有序集合元素
第4章 Redis必备命令
4.1 键(key)命令
4.1.1 查询键
4.1.2 修改键
4.1.3 键的序列化
4.1.4 键的生存时间
4.1.5 键值对操作
4.1.6 删除键
4.2 HyperLogLog命令
4.2.1 添加键值对到HyperLogLog中
4.2.2 获取HyperLogLog的基数
4.2.3 合并HyperLogLog
4.3 脚本命令
4.3.1 缓存中的Lua脚本
4.3.2 对Lua脚本求值
4.3.3 杀死或清除Lua脚本
4.4 连接命令
4.4.1 解锁密码
4.4.2 断开客户端与服务器的连接
4.4.3 查看服务器的运行状态
4.4.4 输出打印消息
4.4.5 切换数据库
4.5 服务器命令
4.5.1 管理客户端
4.5.2 查看Redis服务器信息
4.5.3 修改并查看相关配置
4.5.4 数据持久化
4.5.5 实现主从服务
4.5.6 服务器管理
第5章 Redis数据库
5.1 Redis数据库切换
5.2 Redis数据库中的键操作
5.2.1 添加键
5.2.2 修改键
5.2.3 删除键
5.2.4 取键值
5.3 Redis数据库通知
5.3.1 数据库通知分类
5.3.2 数据库通知的实现原理
第二部分 Redis进阶篇
第6章 Redis客户端与服务器
6.1 Redis客户端
6.1.1 客户端的名字、套接字、标志和时间属性
6.1.2 客户端缓冲区
6.1.3 客户端的authenticated属性
6.1.4 客户端的argv和argc属性
6.1.5 关闭客户端
6.2 Redis服务器
6.2.1 服务器处理命令请求
6.2.2 服务器发送命令
6.2.3 服务器执行命令
6.2.4 服务器返回命令结果
6.3 服务器函数
6.3.1 serverCron函数
6.3.2 trackOperationsPerSecond函数
6.3.3 sigtermHandler函数
6.3.4 clientsCron函数
6.3.5 databasesCron函数
6.4 服务器属性
6.4.1 cronloops属性
6.4.2 rdb_child_pid与aof_child_pid属性
6.4.3 stat_peak_memory属性
6.4.4 lruclock属性
6.4.5 mstime与unixtime属性
6.4.6 aof_rewrite_scheduled属性
6.5 Redis服务器的启动过程
6.5.1 服务器状态结构的初始化
6.5.2 相关配置参数的加载
6.5.3 服务器数据结构的初始化
6.5.4 数据库状态的处理
6.5.5 执行服务器的循环事件
第7章 Redis底层数据结构
7.1 Redis简单动态字符串
7.1.1 SDS的实现原理
7.1.2 SDS API函数
7.2 Redis链表
7.2.1 链表的实现原理
7.2.2 链表API函数
7.3 Redis压缩列表
7.3.1 压缩列表的实现原理
7.3.2 压缩列表API函数
7.4 Redis快速列表
7.4.1 快速列表的实现原理
7.4.2 快速列表API函数
7.5 Redis字典
7.5.1 字典的实现原理
7.5.2 字典API函数
7.6 Redis整数集合
7.6.1 整数集合的实现原理
7.6.2 整数集合API函数
7.7 Redis跳表
7.7.1 跳表的实现原理
7.7.2 跳表API函数
7.8 Redis中的对象
7.8.1 对象类型
7.8.2 对象的编码方式
第8章 Redis排序
8.1 SORT排序命令
8.2 升序(ASC)与降序(DESC)
8.3 BY参数的使用
8.4 LIMIT参数的使用
8.5 GET与STORE参数的使用
8.6 多参数执行顺序
第9章 Redis事务
9.1 Redis事务简介
9.2 Redis 事务的ACID特性
9.2.1 事务的原子性
9.2.2 事务的一致性
9.2.3 事务的隔离性
9.2.4 事务的持久性
9.3 Redis事务处理
9.3.1 事务的实现过程
9.3.2 悲观锁和乐观锁
9.3.3 事务的WATCH命令
第10章 Redis消息订阅
10.1 消息订阅发布概述
10.2 消息订阅发布实现
10.2.1 消息订阅发布模式命令
10.2.2 消息订阅功能之订阅频道
10.2.3 消息订阅功能之订阅模式
10.3 Redis消息队列
10.3.1 消息订阅发布模式的原理
10.3.2 消息生产者/消费者模式的原理
第11章 Redis持久化
11.1 Redis持久化操作概述
11.2 Redis持久化机制AOF
11.2.1 AOF持久化的配置
11.2.2 AOF持久化的实现
11.2.3 AOF文件重写
11.2.4 AOF文件处理
11.2.5 AOF持久化的优劣
11.3 Redis持久化机制RDB
11.3.1 RDB持久化
11.3.2 RDB文件
11.3.3 RDB文件的创建与加载
11.3.4 创建与加载RDB文件时服务器的状态
11.3.5 RDB持久化的配置
11.3.6 RDB持久化的优劣
11.4 AOF持久化与RDB持久化抉择
第12章 Redis集群
12.1 Redis集群的主从复制模式
12.1.1 什么是主从复制
12.1.2 主从复制配置
12.1.3 复制功能的原理
12.1.4 复制功能的实现步骤
12.1.5 Redis读写分离
12.1.6 Redis心跳机制
12.2 Redis集群的高可用哨兵模式
12.2.1 什么是高可用哨兵模式
12.2.2 哨兵模式的配置
12.2.3 Sentinel的配置选项
12.2.4 哨兵模式的实现原理
12.2.5 选择“合适”的slave节点作为master节点
12.2.6 Sentinel的下线状态
12.2.7 Sentinel内部的定时任务
12.3 Redis集群搭建
12.3.1 什么是Redis集群
12.3.2 集群中的节点和槽
12.3.3 集群搭建
12.3.4 使用Redis集群
12.3.5 集群中的错误
12.3.6 集群的消息
第13章 Redis高级功能
13.1 慢查询
13.1.1 配置慢查询
13.1.2 慢查询的生命周期
13.1.3 慢查询日志
13.1.4 慢查询命令
13.2 流水线
13.2.1 什么是Pipeline技术
13.2.2 如何使用Pipeline技术
13.3 地理位置的应用
13.3.1 存储地理位置
13.3.2 获取地理位置的经纬度信息
13.3.3 计算两地间的距离
13.3.4 获取指定范围内的位置信息
13.4 位图
13.4.1 二进制位数组
13.4.2 位数组的表示
13.4.3 位数组的实现
第三部分 Redis实战篇
第14章 Java操作Redis
14.1 Java客户端Jedis
14.1.1 Jedis的获取
14.1.2 Jedis的使用
14.1.3 Jedis常用API
14.1.4 Jedis事务
14.1.5 Jedis主从复制
14.1.6 Jedis的连接池
14.2 Java操作Redis数据类型
14.2.1 Java操作Redis字符串类型
14.2.2 Java操作Redis列表类型
14.2.3 Java操作Redis集合类型
14.2.4 Java操作Redis哈希表类型
14.2.5 Java操作Redis有序集合类型
14.3 Java操作Redis实现排行榜
14.4 Java操作Redis实现秒杀功能
14.5 Java操作Redis实现消息队列
14.6 Java操作Redis实现故障转移
第15章 SpringBoot操作Redis
15.1 在SpringBoot中应用Redis
15.1.1 Redis依赖配置
15.1.2 Redis配置文件
15.2 SpringBoot连接Redis
15.3 SpringBoot整合Redis实现缓存
第16章 Python操作Redis
16.1 在Python中应用Redis
16.1.1 在PyCharm中配置Redis
16.1.2 Python连接Redis
16.2 Python操作Redis数据类型
16.2.1 Python操作Redis String类型
16.2.2 Python操作Redis List类型
16.2.3 Python操作Redis Set类型
16.2.4 Python操作Redis Hash类型
16.2.5 Python操作Redis SortedSet类型
16.2.6 Python操作Redis的其他key
16.3 Python操作Redis实现消息订阅发布


📜 SIMILAR VOLUMES


从零开始学水彩
✍ 爱林博悦主编; 李雅倩编著 📂 Library 📅 2017 🏛 CNPeReading 🌐 Chinese

<p>本书共有四章。第一章介绍了水彩画的工具,教你怎样选择和准备水彩工具;第二章用简单的案例详细讲解了各种水彩技法;第三章介绍了如何将水彩技法应用在水彩画的创作中,这一章中主要使用风景画案例,每幅画都以一种水彩技法作为重点知识;第四章加强了难度,每幅画都有多个水彩技法的应用,使画面的层次更加丰富。

从零开始学Java
✍ 郭现杰 📂 Library 📅 2012 🏛 电子工业出版社 🌐 Chinese

《从零开始学Java》针对初学和自学读者的特点,以通俗易懂的语言介绍Java语言,全书内容分为六篇共23章,讲解了Java的各个方面。内容包括Java语言的发展、环境配置、基本语法、流程控制语句、字符串处理、数组、面向对象、图形界面设计、输入/输出、处理异常、网络编程、数据库及Java Web基础JSP和Servlet。最后通过一个大型项目——教务管理系统贯穿所有学习知识点,让读者更好地体会Java语言编程开发。

OpenStack从零开始学
✍ 卢万龙; 周萌 📂 Library 📅 2016 🏛 电子工业出版社 🌐 Chinese

<p>OpenStack作为开源云计算技术首当其冲,有着广泛的受众、活跃的社区和良好的传播,尊为云计算技术的领导者。</p> <p>《OpenStack从零开始学》由浅入深,从设计理论到实际操作,带领读者认识OpenStack云计算的全貌,轻松步入OpenStack云计算的世界。其内容涵盖了OpenStack云计算设计理论,虚拟化技术KVM和Xen的原理与应用,4种OpenStack网络架构(Flat、Local、GRE和VXLAN)模式和网络OSI 7层模型介绍,Ceph分布式存储, OpenStack安装配置(Nova、Cinder、Neutron、Horizon、Swift和Keyst

从零开始学统计
✍ 归璐 📂 Library 📅 2017 🏛 电子工业出版社 🌐 Chinese

<p>大数据时代,每个人都要懂一点统计学,我们缺的不是数据,而是正确分析数据的路径,从海量数据中撷取有用信息、产生新价值,甚至用以推估未知的事物,并且已经成为个人和企业的关键竞争力。《从零开始学统计》是一本关于统计轻知识的书,作者希望借助轻松幽默的语言来激发读者对统计学的学习热情。内容从描述性统计到推断性统计,通过将生活中有趣的事件一一展开,了解统计雪学中的核心知识点,最后是常见疑问的答疑汇编。《从零开始学统计》偏重于对案例和图表的引用,不会过多关注于数学推导。</p>

从零开始学PowerPoint 2010 (从零开始系列培训教程)
✍ 老虎工作室 高长铎 赵博 张玉堂 编著 📂 Library 📅 2014 🏛 Posts & Telecommunications Press 🌐 Chinese

<p>《从零开始学PowerPoint 2010》重点介绍了PowerPoint 2010中幻灯片的制作方法,主要内容包括认识PowerPoint 2010,演示文稿和幻灯片的概念,在幻灯片中添加文字内容,插入表格与图表、插入图片与剪贴画、插入形状与SmartArt、插入音频与视频、插入动作按钮与超链接的方法,设置幻灯片静态效果、版面和动态效果的方法,幻灯片的放映、打印与打包的方法以及综合实例等。<p>《从零开始学PowerPoint 2010》图文并茂、内容丰富、重点突出、通俗易懂,适合于需要使用PowerPoint进行电脑办公的广大人员自学使用,也可以作为各大专院校相关专业和相关电脑培训机

从零开始学单片机技术
✍ 刘建清 📂 Library 📅 0 🏛 国防工业出版社 🌐 Chinese

内容简介 · · · · · · 本书以实战操作为基础,用最简单的方法,将初学者领进单片机世界的大门。本书首先介绍了单片机的基础知识,然后简要阐述了单片机的指令系统、简单程序设计、存储器和I/0接口扩展、中断、定时器以及串行通信技术,最后对单片机常用接口技术(LED显示接口、键盘接口、LCD液晶接口、SPI总线接口和看门狗电路、12C总线接口、红外遥控接口、语音接口、A/D和D/A转换接口)和单片机的应用系统设计进行了精要介绍。 本书附赠光盘一张,光盘中包含有Keil、MedWin中文版软件以及书中所有实验的源程序。书中提供的所有实验均具有较高的实用性和代表性,且全部通过了实验板验证