本地内存和分布式缓存(面试)

本地缓存和分布式缓存

本地缓存缓存组件和应用在同一进程中 。但各应用都需要维护单独的缓存,无法共享缓存
分布式缓存 :缓存组件和应用分离,不在同一进程,多个应用可直接共享缓存。

本地缓存的实现

  • 缓存一般是一种key-value的键值对数据结构
  • 与此同时,本地缓存由于需要被并发读写,需要保证线程安全。由于 HashMap 不是线程安全的,而 ConcurrentHashMap 是线程安全的,一般使用 ConcurrentHashMap 实现 Java 编程中的本地缓存
    分布式缓存的实现:
    Redis和MemCached,但Redis优于MenCached,一般使用Redis
  • Redis 有着丰富的key-value 键值对的数据结构,如 Set 集合去重、有序集合 ZSet 实现数据排序等。
  • Redis 是单线程的,不存在高并发下线程安全问题,以及保证数据读写操作的顺序性
  • Redis 支持主从同步(读写分离)、集群分片拓展、数据持久化等特性,这也是 MemCached 不支持的

本地缓存和分布式缓存的优缺点

本地缓存的优缺点

  1. 访问速度快,但无法进行大数据存储
  2. 数据随应用进程的重启而丢失
    本地缓存的数据是存储在应用进程的内存空间的,所以当应用进程重启时,本地缓存的数据会丢失
    分布式缓存的优缺点
  3. 数据需要跨网络传输,性能较低.
  4. 支持大数据量存储,不受应用进程重启影响
    分布式缓存由于拥有自身独立的内存空间。应用进程重启后,分布式缓存的数据依然存在
相关推荐
萧曵 丶2 小时前
Redis在实际业务中的常见与高级用法详解
数据库·redis·缓存
谷新龙0012 小时前
redis扫盲
redis·缓存
Overt0p2 小时前
抽奖系统(5)
java·redis·springboot
ChineHe4 小时前
Redis入门篇001_Redis简介与特性
数据库·redis·缓存
困知勉行19854 小时前
Redis数据结构及其底层实现
数据库·redis·缓存
哆啦code梦5 小时前
Redis Key命名规范实战指南
redis
uup5 小时前
SpringBoot 集成 Redis 分布式锁实战:从手动实现到注解式优雅落地
java·redis
大G的笔记本5 小时前
redis相关概念解释
redis
零度@6 小时前
Java-Redis 缓存「从入门到黑科技」2026 版
java·redis·缓存
optimistic_chen6 小时前
【Redis 系列】常用数据结构---ZSET类型
数据结构·数据库·redis·xshell·zset·redis命令