内部缓存和外部缓存

133 阅读1分钟

内部本地缓存

  • 特点
    1. 共享相同的虚拟内存,应用自身进程直接管理维护,比较简单
    2. 访问速度非常快,数据传输不受网络I/O影响,没有网络通信带来的序列化过程
    3. 只提供针对应用自身进程的访问
    4. 不提供分布式缓存的一致性功能
    5. 与应用自身进程高度耦合,随着应用自身进程消亡而消亡
    6. 无法支持大量数据,因为应用自身进程也占用大量内存资源
  • 场景
    在应用层中使用,用于缓存只读数据、独立部署服务节点、且不会频繁更新的数据
  • go 模块(hash结构存储)
    fastcache、bigcache、gocache

外部分布式缓存

  • 特点
    1. 访问速度比内部本地缓存慢
    2. 部署多节点时可以共享数据
    3. 为集群式多节点部署下的数据提供一致性
    4. 高可用,与应用进程解耦,可以避免单点故障
    5. 支持大量数据
  • 场景
    在应用层和DB层之间使用,要求高可用、数据更新频繁、分布式节点下的数据
  • 组件
    redis、memcache