终于有阿里 P8 从开发、运维两个角度总结出了 Redis 实战手册
从开发、运维两个角度总结了 Redis 实战经验,深入浅出地剖析底层实现,包含大规模集群开发与运维的实际案例、应用技巧。
前言
Redis 作为基于键值对的 NoSQL 数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时 Redis 本身非常稳定,已经得到业界的广泛认可和使用。掌握 Redis 已经逐步成为开发和运维人员的必备技能之一。
本书关注了 Redis 开发运维的方方面面,尤其对于开发运维中如何提高效率、减少可能遇到的问题进行详细分析,但本书不单单介绍怎么解决这些问题,而是通过对 Redis 重要原理的解析,帮助开发运维人员学会找到问题的方法,以及理解背后的原理,从而让开发运维人员不仅知其然,而且知其所以然。
目录内容展示
看内容之前必须要读的!
需要获取的小伙伴可以直接转发+关注后**点击这里,获得文档领取方式**
内容章节:
第 1 章初识 Redis,带领读者进入 Redis 的世界,了解它的前世今生、众多特性、应用场景、安装配置、简单使用,最后对 Redis 发展过程中的重要版本进行说明,可以让读者对 Redis 有一个全面的认识。
第 2 章 API 的理解和使用,全面介绍了 Redis 提供的 5 种数据结构字符串( string)、哈希( hash)、列表(list)、集合( set)、有序集合(zset)的数据模型、常用命令、典型应用场景,并且每个小节都会给出在 Redis 开发过程可能要注意的坑和技巧。同时本章还会对 Redis 的单线程处理机制、键值管理做一个全面介绍,通过对这些原理的理解,读者可以在合适的应用场景选择合适的数据结构和命令进行开发,有效提高程序效率,降低可能产生的问题和隐患。
第 3 章﹐小功能大用处,除了 5 种数据结构外,Redis 还提供了诸如慢查询、Redis Shell、Pipeline、Lua 脚本、Bitmaps、HyperLogLog、发布订阅、GEO 等附加功能,在这些功能的帮助下,Redis 的应用场景更加丰富。
第 4 章客户端,本章重点关注 Redis 客户端的开发,介绍了 Redis 的客户端通信协议、详细讲解了 Java 客户端 Jedis 的使用技巧,同时通过从原理角度剖析在开发运维中,客户端的监控和管理技巧,最后给出客户端开发中常见问题以及案例讲解。
第 5 章持久化,Redis 的持久化功能有效避免因进程退出造成的数据丢失问题,本章首先介绍 RDB 和 AOF 两种持久化配置和运行流程,其次对常见的持久化问题进行定位和优化,最后结合 Redis 常见的单机多实例部署场景进行优化。
第 6 章复制,在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,用于故障恢复和负载均衡等需求,Redis 也是如此。它为我们提供了复制(replication)功能,实现了多个相同数据的 Redis 副本。复制功能是高可用 Redis 的基础,后面章节的哨兵和集群都是在复制的基础上实现高可用。
第 7 章 Redis 的噩梦:阻塞,Redis 是典型的单线程架构,所有的读写操作都在一条主线程中完成的。当 Redis 用于高并发场景时这条线程就变成了它的生命线。如果出现阻塞哪怕是很短时间对于我们的应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因,本章将进行详细分析
第 8 章理解内存,Redis 所有的数据存在于内存中,如何高效利用 Redis 内存变得非常重要。高效利用 Redis 内存首先需要理解 Redis 内存消耗在哪里,如何管理内存,最后再深入到如何优化内存。掌握这些知识后相信读者能够实现用更少的内存存储更多的数据从而降低成本。
第 9 章哨兵,Redis 从 2.8 版本开始正式提供了 Redis Sentinel,它有效解决了主从复制模式下故障转移的若干问题,为 Redis 提供了高可用功能。本章将一步步解析 Redis Sentinel 的相关概念、安装部署、配置、命令使用、原理解析,最后分析了 Redis Sentinel 运维中的一些问题。
第 10 章集群,是本书的重头戏,Redis Cluster 是 Redis3 提供的 Redis 分布式解决方案,有效解决了 Redis 分布式方面的需求,理解应用好 RedisCluster 将极大的解放我们对分布式 Redis 的需求,同时它也是学习分布式存储的绝佳案例。本章将针对 RedisCluster 的数据分布,搭建集群,节点通信,请求路由,集群伸缩,故障转移等方面进行分析说明。
第 11 章缓存设计,缓存能够有效加速应用的读写速度,以及降低后端负载,对于开发人员进行日常应用的开发至关重要,但是将缓存加入应用架构后也会带来一些问题,本章将介绍缓存使用和设计中遇到的问题,具体包括:缓存的收益和成本、缓存更新策略、缓存粒度控制、穿透问题优化、无底洞问题优化、雪崩问题优化、热点 key 优化。
第 12 章开发运维的“陷阱”,介绍 Redis 开发运维中的一些棘手问题,具体包括:Linux 配置优化、flush 误操作数据恢复、如何让 Redis 变得安全、bigkey 问题、热点 key 问题。
第 13 章 Redis 监控运维云平台 CacheCloud,介绍笔者所在团队开源的 Redis 运维工具 CacheCloud,它有效解决了 Redis 监控和运维中的一些问题,本章将按照快速部署、机器部署、接入应用、用户功能、运维功能多个维度全面的介绍 CacheCloud,相信在它的帮助下,读者可以更好的监控和运维好 Redis。
第 14 章 Redis 配置统计字典,会对 Redis 的系统状态信息以及全部配置做一个全面的梳理,希望本章能够成为 Redis 配置统计字典,协助大家分析和解决日常开发和运维中遇到的问题。
如何获取?
转发+关注后**点击这里,获得文档领取方式**
评论