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

本地缓存和分布式缓存

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

本地缓存的实现

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

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

本地缓存的优缺点

  1. 访问速度快,但无法进行大数据存储
  2. 数据随应用进程的重启而丢失
    本地缓存的数据是存储在应用进程的内存空间的,所以当应用进程重启时,本地缓存的数据会丢失
    分布式缓存的优缺点
  3. 数据需要跨网络传输,性能较低.
  4. 支持大数据量存储,不受应用进程重启影响
    分布式缓存由于拥有自身独立的内存空间。应用进程重启后,分布式缓存的数据依然存在
相关推荐
lifewange1 天前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
phltxy1 天前
Redis 主从复制
java·数据库·redis
shixiaoyu6661 天前
Redis主从原理及哨兵搭建
redis
环流_1 天前
redis:持久化rdb
java·数据库·redis
難釋懷1 天前
Redis通信协议-基于Socket自定义Redis的客户端
数据库·redis·缓存
环流_1 天前
redis:AOF
数据库·redis·spring
半夜修仙1 天前
Redis入门
数据库·redis·缓存
Mahir081 天前
Redis 核心机制:数据过期策略与淘汰策略深度解析
数据库·redis·后端·缓存·面试
晚风_END1 天前
Linux|操作系统|最新版zfs编译后的适用于centos7的rpm安装包完全离线安装介绍
linux·运维·服务器·c++·python·缓存·github
189228048611 天前
NV301固态MT29F32T08GWLBHD6-QJES:B
大数据·服务器·人工智能·科技·缓存