第7章 使用性能利器——Redis】的更多相关文章

在现今互联网应用中,NoSQL已经广为应用,在互联网中起到加速系统的作用.有两种NoSQL使用最为广泛,那就是Redis和MongoDB.本章将介绍Redis和Spring Boot的结合.Redis是一种运行在内存的数据库,支持7种数据类型的存储.Redis是一个开源.使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.键值数据库,并提供多种语言的API.Redis是基于内存的,所以运行速度很快,大约是关系数据库几倍到几十倍的速度.在我的测试中,Redis可以在1…
Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储 Redis 支持数据的备份,即 master - slave 模式的数据备份 Red…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.什么是Redis 全称: Remote Dictionary Server 远程字典服务器 实质: 一个缓存结构服务器或数据结构服务器 特性: Database:Redis是一个数据库,可以持久化 Non-relational/NoSQL:非关系型数据库 Key-Value:键值对格式 Redis与Memcached对比: 一样的简单 更多数据类型 更多操作命令 更多功能组件 支持数据持久化 总结: Redis使用其独特的…
为什么需要持久化? Redis对数据的操作都是基于内存的,当遇到了进程退出.服务器宕机等意外情况,如果没有持久化机制,那么Redis中的数据将会丢失无法恢复.有了持久化机制,Redis在下次重启时可以利用之前持久化的文件进行数据恢复.理解和掌握Redis的持久机制,对于Redis的日常开发和运维都有很大帮助,也是在大厂面试经常被问到的知识点.Redis支持的两种持久化机制: RDB:把当前数据生成快照保存在硬盘上. AOF:记录每次对数据的操作到硬盘上. 接下来,我们详细了解一下这两种持久化机制…
本章主要内容 4.1 将数据持久化至硬盘 4.2 将数据复制至其他机器 4.3 处理系统故障 4.4 Redis事务 4.5 非事务型流水线( non-transactional pipeline) 4.6 诊断性能问题   1.本章首先会介绍Redis的各个持久化选项, 这些选项可以让用户将自己的数据存储到硬盘上面. 2.接着本章将介绍如何通过 Redis 的复制特性, 把不断更新的数据副本存储到附加的机器上面, 从而提升系统的性能和数据的可靠性. 3. 之后本章将会说明同时使用复制和持久化的…
目录 前言 1. 发布订阅 1.1 频道的订阅与退订 1.2 模式的订阅与退订 1.3 发送消息 1.4 查看订阅消息 2. 事务 2.1 事务的实现 2.2 WATCH 命令的实现 2.3 事务的 ACID 性质 最后 前言 参考资料:<Redis设计与实现 第二版>: 第三部分为独立功能的实现,主要由以下模块组成:发布订阅.事务.Lua 脚本.排序.二进制位数组.慢查询日志.监视器: 本篇将介绍 Redis 的发布订阅与事务.Redis 提供了频道与模式的订阅与退订,支持对频道发送消息.R…
目录 前言 1. Lua 脚本 1.1 Redis 创建并修改 Lua 环境的步骤 1.2 Lua 环境协作组件 1.3 EVAL 命令的实现 1.4 EVALSHA 命令的实现 1.5 脚本管理命令的实现 1.6 脚本复制 1.6.1 EVAL.SCRIPT FLUSH.SCRIPTLOAD 命令的复制 1.6.2 EVALSHA 命令的复制 2. 排序 2.1 SORT 命令的实现 2.2 SORT 命令的可选项 2.3 多个选项的执行顺序 最后 前言 参考资料:<Redis设计与实现 第二…
目录 前言 1. 二进制位数组 1.1 位数组的表示 1.2 GETBIT 命令的实现 1.3 SETBIT 命令的实现 1.4 BITECOUNT 命令的实现 1.5 BITOP 命令的实现 2. 慢查询日志 2.1 慢查询记录的保存 2.2 慢查询日志的阅览与删除 2.3 添加新日志 3. 监视器 最后 前言 参考资料:<Redis设计与实现 第二版>: 第三部分为独立功能的实现,主要由以下模块组成:发布订阅.事务.Lua 脚本.排序.二进制位数组.慢查询日志.监视器: 本篇将介绍 Red…
目录 前言 1. 旧版复制功能的实现 1.1 同步与命令传播 1.2 旧版复制功能的缺陷 2. 新版复制功能的实现 2.1 部分重同步的实现原理 3. PSYNC 命令的实现 4. 复制的详细步骤 4.1 设置主服务器的地址和端口 4.2 建立套接字连接 4.3 发送 PING 命令 4.4 身份验证 4.5 发送端口信息 4.6 同步 4.7 命令传播 5. 心跳检测 最后 前言 参考资料:<Redis设计与实现 第二版>: 第四部分为多机数据库的实现,主要由以下模块组成:复制.Sentin…
目录 前言 1. 启动并初始化 Sentinel 2. Sentinel 与服务器间的默认通信 2.1 获取主服务器信息 2.2 获取从服务器信息 2.3 向主服务器和从服务器发送信息 3. 接受来自主服务器和从服务器的频道信息 3.1 更新 Sentinel 字典 3.2 创建连向其他 Sentinel 的命令连接 4. 检测主观下线状态 5. 检查客观下线状态 5.1 发送 SENTINEL is-master-down-by-addr 命令 5.2 接受 SENTINEL is-maste…