2020年Java程序员,面试阿里Java开发岗必需要先理解的题库( 七 )

分布式

为什么要用 redis缓存?

为什么要用 redis 而不用 map/guava 做缓存?

redis 和 memcached 的区别?

redis 常见数据结构以及使用场景分析?(String , Hash , List , Set , Sorted Set)

redis 设置过期时间

redis 内存淘汰机制(MySQL里有2000w数据 , Redis中只存20w的数据 , 如何保证Redis中的数据都是热点数据?)

redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)?

redis 事务

缓存雪崩和缓存穿透问题解决方案

如何解决 Redis 的并发竞争 Key 问题

如何保证缓存与数据库双写时的数据一致性?

什么是消息队列?为什么要用消息队列?

推荐阅读