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

image

内容介绍

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

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


image

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

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

image

内容结构

image

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

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

图文并茂、动画演示

image

5

原文发布时间为:2018-07-31
本文来自云栖社区合作伙伴“Java架构沉思录”,了解相关信息可以关注“Java架构沉思录

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/621106

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。