前言
redis简单来说 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。所以在面试中我们经常可以看到redis的身影,今天给大家带来一道redis的面试真题以及解析,后面会给大家分享今年来redis常考试的一些真题。
虚惊一场,差点挂在美团三面,罪魁祸首居然竟是“Redis”?
在找工作的过程中,对于 Redis 技术知识的掌握已经成为必须的技能。美团面试常常就会被问到Redis相关知识,而这次我就差点挂在了美团3面,面试官连问我以下几个Redis的问题,然后就卡壳了…
- redis了解吗?Redis key 的过期策略Redis了解吗?你说说怎么用redis实现分布式锁?
- Redis常用数据结构及底层数据结构实现
- 如何解决 Redis 的并发竞争 Key 问题
- 如何保证缓存与数据库双写时的数据一致性?
- Redis 持久化有哪几种方式,怎么选?
- Redis 的 zset 怎么实现的?
- Redis 主从同步是怎样的过程?
- … …(剩下的不太记得了…为此面试完回来针Redis专门做了一个大总结)
01 Redis面试问题常见划分(6个部分,附带完整的答案解析)
第一部分:Redis 的概念理解
第二部分:Redis 数据结构与指令
第三部分:Redis 高并发处理策略
第四部分:Redis 集群结构以及设计理念
第五部分:Redis 缓存管理与持久化机制
第六部分:Redis 应用场景设计注意:前面例举了所有的问题,在先不看解析的条件下,可先自行试水。。解析在最后。。
笔记是全程手写出来的,希望大家拿到笔记后别丢进收藏夹吃灰!
1.1 Redis面试问题:第一部分:Redis 的概念理解
- 什么是 Redis?
- Redis 的特点有哪些?
- Memcache 与 Redis 的区别都有哪些?
- Redis 相比 Memcached 有哪些优势?
- 如何实现本地缓存?请描述一下你知道的方式
- Redis 通讯协议是什么?有什么特点?