开篇:为什么有了 Redis 还需要本地缓存?
你在北京,数据在杭州的 Redis 服务器上。即使网络再快,一次网络往返(RTT)也要 1~2 毫秒。
但如果数据就在你的应用进程内存里呢?访问时间大约 0.01~0.1 毫秒——比 Redis 快了 10~100 倍。
这就是本地缓存的价值:把最热的数据放在离应用最近的地方,省掉网络开销,实现极致的读取速度。
当然,本地缓存不是来替代 Redis 的,而是和 Redis 配合,形成多级缓存架构:
本地缓存是 L1(一级缓存),Redis 是 L2(二级缓存),数据库是最终的数据源。越往前越快,但容量越小、一致性越难保证。
大约 11 分钟