专栏首页Java架构沉思录Redis 深度历险:核心原理与应用实践

Redis 深度历险:核心原理与应用实践

内容介绍

Redis 是互联网技术架构在存储系统中使用最为广泛的中间件,它也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的、竞争激烈的大型互联网公司(比如 Twitter、新浪微博、阿里云、腾讯云、淘宝、知乎等),通常要求面试者不仅仅掌握 Redis 基础使用,更要求深层理解 Redis 内部实现的细节原理。毫不夸张地说,能把 Redis 的知识点全部吃透,你的半只脚就已经踏进心仪大公司的技术研发部。

但在平时经历的很多面试中,老钱发现大多数同学只会拿 Redis 做数据缓存,使用最简单的 get/set 方法,除此之外几乎一片茫然。也有小部分同学知道 Redis 的分布式锁,但也不清楚其内部实现机制,甚至在使用上就不标准,导致生产环境中出现意想不到的问题。还有很多同学没认识到 Redis 是个单线程结构,也不理解 Redis 缘何单线程还可以支持高并发等等。这也是老钱撰写这本小册的初衷,通过梳理总结自己的实践经验,帮助更多后端开发者更快更深入的掌握 Redis 技能。

老钱所在的掌阅科技,为了支撑海量(亿级)的用户服务,使用了上千个 Redis 实例,包含大约 100 个 Redis 集群 (Codis) 以及很多独立的 Redis 节点,因此,在使用 Redis 作为缓存和持久存储中间件上积累了较为丰富的实战经验,这些都将毫无保留的分享到这本小册中。

Redis 涉及到的知识点是非常繁多的,本小册将主要讲解其中最常见的 Redis 核心原理和应用实践经验,让读者在阅读之后可以快速武装自己并落地到平时的 Redis 项目开发中。除此之外,还会回顾一些底层的至关重要的计算机科学基础原理,以及技术应用的思考方式,这些基础的知识和技能将最终决定你的技术人生道路可以走多快走多远。

内容结构

本小册在内容结构上分为 Redis 基础应用、原理、集群、拓展学习和源码分析 5 个版块:

  • Redis 基础应用占据篇幅最长,这也是对读者最有价值的内容,可以直接应用到实际工作中。
  • 原理和集群版块适合对技术有着极致追求的开发者,他们希望透过简单的技术表面看到精致的底层世界。
  • 拓展学习版块作为最核心内容之外的补充部分,主要用于进一步扩展技术视野或者夯实基础,便于进阶学习,作者会尽可能的在拓展篇持续扩充更多知识点。
  • 源码分析版块主要满足高阶用户深入探索 Redis 内部实现的强烈渴望,这类读者坚信读懂源码才是技术实力的真正体现。

图文并茂、动画演示

作者介绍

钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅服务端技术专家。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和 MySQL 中间件,实现过开源的 ORM 框架、Web 框架、RPC 框架等。有以下分享经历:

  • 掘金专栏 「老錢」 原创作者
  • 知乎专栏 「码洞」 资深洞主
  • 微信公众号「码洞」原创作者
  • 掘金小册作者:「深入理解 RPC : 基于 Python 自建分布式高并发 RPC 服务」
  • Github 地址: github.com/pyloque

适宜人群

  1. 有一定的后端开发经验和 Redis 基础,渴望深度掌握 Redis 技术原理而不仅限于只会使用的中高级后端开发者;
  2. 渴望成功打入大型互联网企业研发部的中高级后端开发者;
  3. 需要支撑公司 Redis 中间件运维工作的初中级运维工程师们;
  4. 希望更好的设计 Redis 面试题目的后端技术面试官;
  5. 对 Redis 中间件技术好奇的中高级前端技术朋友们;

名人推荐

本文分享自微信公众号 - Java架构沉思录(code-thinker)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这几个Redis使用技巧,让你的程序快如闪电

    实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。

    黄泽杰
  • 单线程的Redis为什么这么快?

    https://blog.csdn.net/xlgen157387/article/details/79470556

    黄泽杰
  • 高可用Redis服务架构分析与搭建

    基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据...

    黄泽杰
  • 解决 Redis 的疑难杂症

    显而易见,如今的 Redis 已经进入了成熟期,但依旧存在很多疑难杂症。数以千计的开发者都在开发和使用这个数据库,它拥有非常完善的文档。

    用户1737318
  • 【Redis】Redis介绍与Redis3在Window下的安装

    其实在今天之前,我都不知道Redis是什么东西。至于为什么知道了这个东西,而且又要去学Redis。

    谙忆
  • 公开吧!腾讯技术专家手撸“Redis技术笔记”,下载量已突破30W

    Redis的火爆程度,相信不用我多说,现在大型的互联网公司基本上都需要使用到Redis技术。Redis作为目前最火爆的内存数据库之一,通过在内存中读写数据,很大...

    Java程序猿阿谷
  • Spring Boot 如何快速集成 Redis 哨兵?

    前面的分享栈长介绍了如何使用 Spring Boot 快速集成 Redis,上一篇是单机版,也有粉丝留言说有没有 Redis Sentinel 的集成教程,这篇...

    Java技术栈
  • Redis:基础学习资料 PDF 版下载

    随着Web 2.0的蓬勃发展,网站数据快速增长,人们对高性能读写的需求越来越多,关系数据库越来越不能适应相关的存储需求……

    田维常
  • 【redis学习】高级键管理

    为了更有效地在应用程序中使用 Redis ,我们需要理解 Redis 是如何存储键的,并了解用于操作 Redis 实例中键空间的命令。

    看、未来
  • Redis6 终于还是迎来了多线程版本!

    Redis 6.0 版本,本来是预计在 2019 年底发布,可是由于改动太大,6.0.1 的正式版本直到昨天才正式推出。

    业余草

扫码关注云+社区

领取腾讯云代金券