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

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 竞争激烈的大型互联网公司(比如 Twitter、新浪微博、阿里云、淘宝、知乎等),通常要求面试者不仅仅掌握 Redis 基础使用,更要求深层理解 Redis 内部实现的细节原理。毫不夸张地说,能把 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架构沉思录

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
29天前
|
存储 NoSQL Redis
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
46 1
|
29天前
|
NoSQL Java Redis
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
40 0
|
29天前
|
存储 消息中间件 缓存
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
38 0
|
11天前
|
NoSQL Redis 数据库
|
3天前
|
存储 NoSQL 容灾
压缩列表zipList在Redis中有哪些应用场景
压缩列表zipList在Redis中有哪些应用场景
|
29天前
|
NoSQL 容灾 Redis
Redis系列学习文章分享---第十一篇(Redis高级实战篇---RDB演示 +RDB的fork原理+A0F演示 +RDB和AOF)
Redis系列学习文章分享---第十一篇(Redis高级实战篇---RDB演示 +RDB的fork原理+A0F演示 +RDB和AOF)
22 0
|
1月前
|
存储 缓存 NoSQL
Redis为什么速度快:数据结构、存储及IO网络原理总结
Redis为什么速度快:数据结构、存储及IO网络原理总结
|
22天前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
3天前
|
缓存 NoSQL Linux
入职必会-开发环境搭建26-Redis下载和安装
Redis是一个开源的、内存中的数据结构存储系统,用作数据库、缓存、消息中间件。它提供了丰富的数据结构,包括字符串、哈希、列表、集合、有序集合、位图、HyperLogLog、地理空间索引和流。以下是 Redis 的一些主要特点和用途。
|
24天前
|
存储 消息中间件 缓存
apt安装Redis 7
【7月更文挑战第2天】