前言
以前虽然看了很多redis的书籍,可是因为实际项目中应用的场景比较少,加上缺乏概括总结,时间一长,看的不少东西都忘记了(哎,年龄大了,记忆愈来愈不行了,吐槽)。 怎么办呢,采用问答的方式从新对以前看的一些知识作一下梳理,会不会理解的更深入点?鉴于此,本文主要是(从网上)收集罗列一下redis被问到的常见问题,(可能有重复)在后面的文章中再针对这些问题结合本身的理解一一解答。固然我的理解不必定彻底正确,欢迎一块儿沟通讨论。redis
redis 常见问题:
- Redis有哪些数据结构?
- 使用过Redis分布式锁么,它是什么回事?
- 假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,若是将它们所有找出来?
- 使用过Redis作异步队列么,你是怎么用的?
- 若是有大量的key须要设置同一时间过时,通常须要注意什么?
- Redis如何作持久化的?
- Pipeline有什么好处,为何要用pipeline?
- Redis的同步机制了解么?
- 是否使用过Redis集群,集群的原理是什么?
- Redis有哪几种数据淘汰策略?
- MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
- 怎么理解Redis事务?
- redis 有哪些适用场景?
- 为何使用 Redis?
- 使用 Redis 有什么缺点?
- 单线程的 Redis 为何这么快?
- Redis 的数据类型,以及每种数据类型的使用场景?
- Redis 的过时策略以及内存淘汰机制?
- Redis 和数据库双写一致性问题?
- 如何应对缓存穿透和缓存雪崩问题?
- 如何解决 Redis 的并发竞争 Key 问题?
- ...
后记
后面会针对上面罗列的这些问题,结合本身的学习理解,采用每篇文章解答1-3个问题方式作一系列的分享。经过文问答的形式加深对redis的理解。数据库