程序员:给多少工资,干多少事
我们不是经常会看到一个关于西游记的“悖论”吗:
为什么孙悟空初期大闹天宫的时候那么厉害?因为他自己当老板,打一群天庭的打工仔。
为什么取经路上又变得不行了?作为一个打工仔,去跟一群出来自己创业的妖怪打架。
很多程序员想跟老板说,但又不太敢说,实际却在做的一件事。
事实却是:
“拿着10K的工资,做着20K的事,还要操着30K的心!”
其实,这些情况都不奇怪,甚至是人之常情。
咱先来聊聊Redis
像Redis的基础入门,掌握下图这几个列出来的知识点足以了。
进阶的话,就得下点功夫了,事务、主从复制、哨兵、集群等等之类的搞不明白你就上不去呀。
再看美团亿级流量Redis实战,Redis分布式锁、session、缓存与数据库一致性问题、缓存雪崩等之类的都是重中之重的技术点,必须掌握,没得商量。
看了这些个技术点,那么我现在就来考考你一些Redis面试问题(准备好,接招吧):
- 为什么要用redis? /为什么要用缓存?
- 为什么要用redis而不用map/guava做缓存?
- 如何保证缓存与数据库双写时的数据一致性?
- redis 常见数据结构以及使用场景分析?(String/Hash/List/Set/Sorted Set)
- redis如何设置过期时间?
- redis内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?
- Redis 持久化有哪几种方式,怎么选?(怎么保证redis 挂掉之后再重启数据可以进行恢复?)
- redis事务?
- Redis常见异常及解决方案?(缓存穿透/缓存雪崩/缓存预热/缓存降级)
- 分布式环境下常见的应用场景?(分布式锁/分布式自增ID)
- Redis集群模式?(主从模式/哨兵模式/Cluster集群模式)
- 如何解决 Redis 的并发竞争 Key 问题?
接不住的请看下方答案截图(解析不少,截取不完,可提供完整的答案解析原件):