Redis 核心技术与实战
蒋德钧
中科院计算所副研究员
25200 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
02 | 数据结构:快速的Redis有哪些慢操作?
04 | AOF日志:宕机了,Redis如何避免数据丢失?
17 | 为什么CPU结构也会影响Redis的性能?
课程目录
已完结/共 53 讲
开篇词 (1讲)
开篇词 | 这样学Redis,才能技高一筹
基础篇 (10讲)
01 | 基本架构:一个键值数据库包含什么?
02 | 数据结构:快速的Redis有哪些慢操作?
03 | 高性能IO模型:为什么单线程Redis能那么快?
04 | AOF日志:宕机了,Redis如何避免数据丢失?
05 | 内存快照:宕机后,Redis如何实现快速恢复?
06 | 数据同步:主从库如何实现数据一致?
07 | 哨兵机制:主库挂了,如何不间断服务?
08 | 哨兵集群:哨兵挂了,主从库还能切换吗?
09 | 切片集群:数据增多了,是该加内存还是加实例?
10 | 第1~9讲课后思考题答案及常见问题答疑
实践篇 (28讲)
11 | “万金油”的String,为什么不好用了?
12 | 有一亿个keys要统计,应该用哪种集合?
13 | GEO是什么?还可以定义新的数据类型吗?
14 | 如何在Redis中保存时间序列数据?
15 | 消息队列的考验:Redis有哪些解决方案?
16 | 异步机制:如何避免单线程模型的阻塞?
17 | 为什么CPU结构也会影响Redis的性能?
18 | 波动的响应延迟:如何应对变慢的Redis?(上)
19 | 波动的响应延迟:如何应对变慢的Redis?(下)
20 | 删除数据后,为什么内存占用率还是很高?
21 | 缓冲区:一个可能引发“惨案”的地方
22 | 第11~21讲课后思考题答案及常见问题答疑
23 | 旁路缓存:Redis是如何工作的?
24 | 替换策略:缓存满了怎么办?
25 | 缓存异常(上):如何解决缓存和数据库的数据不一致问题?
26 | 缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?
27 | 缓存被污染了,该怎么办?
28 | Pika:如何基于SSD实现大容量Redis?
29 | 无锁的原子操作:Redis如何应对并发访问?
30 | 如何使用Redis实现分布式锁?
31 | 事务机制:Redis能实现ACID属性吗?
32 | Redis主从同步与故障切换,有哪些坑?
33 | 脑裂:一次奇怪的数据丢失
34 | 第23~33讲课后思考题答案及常见问题答疑
35 | Codis VS Redis Cluster:我该选择哪一个集群方案?
36 | Redis支撑秒杀场景的关键技术和实践都有哪些?
37 | 数据分布优化:如何应对数据倾斜?
38 | 通信开销:限制Redis Cluster规模的关键因素
期中测试 (2讲)
期中测试题 | 一套习题,测出你的掌握程度
期中测试题答案 | 这些问题,你都答对了吗?
未来篇 (3讲)
39 | Redis 6.0的新特性:多线程、客户端缓存与安全
40 | Redis的下一步:基于NVM内存的实践
41 | 第35~40讲课后思考题答案及常见问题答疑
加餐篇 (7讲)
加餐(一)| 经典的Redis学习资料有哪些?
加餐(二)| 用户Kaito:我是如何学习Redis的?
加餐(三)| 用户Kaito:我希望成为在压力中成长的人
加餐(四) | Redis客户端如何与服务器端交换命令和数据?
加餐(五) | Redis有哪些好用的运维工具?
加餐(六)| Redis的使用规范小建议
加餐(七) | 从微博的Redis实践中,我们可以学到哪些经验?
结束语 (2讲)
期末测试 | 这些Redis核心知识,你都掌握了吗?
结束语 | 从学习Redis到向Redis学习
Redis 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册
开通超级会员可免费学习本课程,还可解锁海量内容免费学特权。

加餐(五) | Redis有哪些好用的运维工具?

你好,我是蒋德钧。
今天的加餐,我来给你分享一些好用的 Redis 运维工具。
我们在应用 Redis 时,经常会面临的运维工作,包括 Redis 的运行状态监控,数据迁移,主从集群、切片集群的部署和运维。接下来,我就从这三个方面,给你介绍一些工具。我们先来学习下监控 Redis 实时运行状态的工具,这些工具都用到了 Redis 提供的一个监控命令:INFO。

最基本的监控命令:INFO 命令

Redis 本身提供的 INFO 命令会返回丰富的实例运行监控信息,这个命令是 Redis 监控工具的基础
INFO 命令在使用时,可以带一个参数 section,这个参数的取值有好几种,相应的,INFO 命令也会返回不同类型的监控信息。我把 INFO 命令的返回信息分成 5 大类,其中,有的类别当中又包含了不同的监控内容,如下表所示:
在监控 Redis 运行状态时,INFO 命令返回的结果非常有用。如果你想了解 INFO 命令的所有参数返回结果的详细含义,可以查看 Redis官网的介绍。这里,我给你提几个运维时需要重点关注的参数以及它们的重要返回结果。
首先,无论你是运行单实例或是集群,我建议你重点关注一下 stat、commandstat、cpu 和 memory 这四个参数的返回结果,这里面包含了命令的执行情况(比如命令的执行次数和执行时间、命令使用的 CPU 资源),内存资源的使用情况(比如内存已使用量、内存碎片率),CPU 资源使用情况等,这可以帮助我们判断实例的运行状态和资源消耗情况。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
02 | 数据结构:快速的Redis有哪些慢操作?
04 | AOF日志:宕机了,Redis如何避免数据丢失?
17 | 为什么CPU结构也会影响Redis的性能?
24 | 替换策略:缓存满了怎么办?
40 | Redis的下一步:基于NVM内存的实践
41 | 第35~40讲课后思考题答案及常见问题答疑
开通超级会员免费畅看本课程
开通会员
该文章仅可免费阅读部分内容,如需阅读完整文章,请开通超级会员或单独购买本课程。
登录 后留言

精选留言(10)

  • Kaito
    老师这节课讲的工具很实用。

    平时我们遇到的 Redis 变慢问题,有时觉得很难定位原因,其实是因为我们没有做好完善的监控。

    Redis INFO 信息看似简单,但是这些信息记录着 Redis 运行时的各种状态数据,如果我们把这些数据采集到并监控到位,80% 的异常情况能在第一时间发现。

    机器的 CPU、内存、网络、磁盘,都影响着 Redis 的性能。

    监控时我们最好重点关注以下指标:

    1、客户端相关:当前连接数、总连接数、输入缓冲大小、OPS

    2、CPU相关:主进程 CPU 使用率、子进程 CPU 使用率

    3、内存相关:当前内存、峰值内存、内存碎片率

    4、网络相关:输入、输出网络流量

    5、持久化相关:最后一次 RDB 时间、RDB fork 耗时、最后一次 AOF rewrite 时间、AOF rewrite 耗时

    6、key 相关:过期 key 数量、淘汰 key 数量、key 命中率

    7、复制相关:主从节点复制偏移量、主库复制缓冲区

    能够查询这些指标的当前状态是最基本的,更好的方案是,能够计算出这些指标的波动情况,然后生成动态的图表展示出来,这样当某一刻指标突增时,监控能帮我们快速捕捉到,降低问题定位的难度。

    目前业界比较主流的监控系统,都会使用 Prometheus 来做,插件也很丰富,监控报警也方便集成,推荐用起来。
    2020-11-09
    7
    91
  • 动次动次
    Redis 工具其他用过热 key 查找工具:redis-faina,还不错;Github地址:https://github.com/facebookarchive/redis-faina
    2021-01-30
    9
  • 悟空聊架构
    Prometheus监控工具确实不错,界面美观,功能强大!
    2021-05-14
    2
  • dao
    我们生产应用中使用 elastic metrcibeat 做 redis 统计监控,同时结合 zabbix 做机器监控,opserver 集合多种数据库的监控。也给开发人员准备了redis gui 工具 redisinsight。
    2021-04-19
    1
  • 孙宏彬2
    老师,我直接做个从实例,然后程序更换ip这样的迁移方式,这样怎么样
    2020-12-21
    1
  • 树心
    最基本的监控命令:INFO 命令
    面向 Prometheus 的 Redis-exporter 监控
    数据迁移工具 Redis-shake(数据一致性比对的工具Redis-full-check)
    集群管理工具 CacheCloud
    2022-01-10
  • Michael
    老师,你好,我有这么一个需求,两个k8s集群,分别是深圳和武汉,k8s集群中都部署了redis主从+哨兵集群,想要把深圳的redis数据迁移到武汉的redis集群环境中,因为redis实例都在pod中,redis-shake可以做到这个嘛?
    2021-04-20
  • escray
    作为没有实战经验的小白,只能把本节内容暗自记下,以后需要的时候再回来查询。

    运维的时候仅有 info 的信息是明显不够的,否则即使单项指标有问题,也只能依赖于经验值,如果有运维工具的话,就可以看到一段时间内的平均值、正常值、波动情况等等。

    Prometheus 之前听说过,现在看来应该是开源系统监控报警框架里面比较成熟的一个了,有机会的话可以学习一下。

    如果只运维 Redis 的话,CacheCloud 似乎也是一个不错的选择,不知道除了搜狐之外,有没有其他大厂采用。另外,CacheCloud 团队还写了一本《Redis开发与运维》。

    有一点好奇,为什么中国团队似乎比较喜欢 Redis ?之前介绍的图书也大部分的都是国内原创的,这次介绍的运维工具也大多是国内的。
    2021-03-22
  • 喵喵喵
    打卡
    2020-12-30
  • 黄海峰
    redis—shake解决的痛点在哪里,为何不直接同步到目的redis还要搞个中间的
    2020-12-10
    4
收起评论
10
返回
顶部