Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司都在使用 Redis,比如 Twitter、YouPorn、暴雪娱乐、Github、StackOverflow、腾讯、阿里、京东、华为、新浪微博等等,很多中小型公司也都有应用。也可以说,对 Redis 的了解和应用实践已成为当下中高级后端开发者绕不开的必备技能。
所谓「授人以鱼不如授人以渔」,今天小编就给大家分享一份阿里内部《 Redis 笔记》,这2份Redis核心笔记及面试高频解析,共888页,对 Redis 的相关知识做了系统全面的介绍,还是PDF版本,可自由复制,特别适合 Redis 初学者快速入门和提高。
本笔记适合人群:前半部分适合 Redis 初学者快速入门和提高;后半部分适合对于 Redis 有一定了解的开发者,深入挖掘其原理。由于篇幅原因,本文只展示了目录和内容截图。
目录
一、缓存概念
二、Redis部署与使用
三、Redis高可用与集群
四、Memcached
1.缓存概念
缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如 CPU 的一级、二级缓存是保存了 CPU 最近经常访问的数据,内存是保存 CPU 经常访问硬盘的数据,而且硬盘也有大小不一的缓存,甚至是物理服务器的 raid 卡有也缓存,都是为了起到加速 CPU 访问硬盘数据的目的,因为 CPU 的速度太快了,CPU 需要的数据由于硬盘往往不能在短时间内满足 CPU 的需求,因此 PCU 缓存、内存、Raid 卡缓存以及硬盘缓存就在一定程度上满足了 CPU 的数据需求,即 CPU 从缓存读取数据可以大幅提高 CPU 的工作效率。
2.Redis 部署与应用
Redis和Memcached 是非关系型数据库也称为 NoSQL 数据库,MySQL、Mariadb、SQL Server、PostgreSQL、Oracle 数据库属于关系型数据(RDBMS, Relational Database Management System)
3.Redis 高可用与集群
虽然 Redis 可以实现单机的数据持久化,但无论是 RDB 也好或者 AOF 也好,都解决不了单点宕机问题,即一旦单台 Redis 服务器本身出现系统故障、硬件故障等问题后,就会直接造成数据的丢失,因此需要使用另外的技术来解决单点问题。
4.Memcached
Memcache 本身没有像 Redis 所具备的数据持久化功能,比如 RDB 和 AOF 都没有,但是可以通过做集群同步的方式,让各 memcache 服务器的数据进行同步,从而实现数据的一致性,即保证各 memcache 的数据是一样的,即使有任何一台 memcache 发生故障,只要集群种有一台 memcache 可用就不会出现数据丢失,当其他 memcache 重新加入到集群的时候可以自动从有数据的 memcache 当中自动获取数据并提供服务。
目录
Redis高频面试题
这里只展示了14题,总共有75题解析
重要的事情说三遍:有需要的朋友直接点