美文网首页
08 | 服务端缓存的分类和介绍

08 | 服务端缓存的分类和介绍

作者: 乌鲁木齐001号程序员 | 来源:发表于2020-07-25 14:28 被阅读0次

服务端缓存的种类

  • 数据库缓存;
  • 平台级缓存;
  • 应用级缓存;

数据库缓存

  • 数据库缓存是一种比较特殊的缓存,是数据库自身的缓存机制;
  • 比如 MySQL 的查询缓存 QueryCache,不过这种东西好像效果不是很好,只有在更新不频繁的时候才有效果,如果数据更新,那么缓存的数据也要重新加载,更新频率高的的,反而会影响性能 ,最新版的 MySQL 已经把这个功能给砍掉了;

平台级缓存

  • 平台级缓存就是带有缓存功能的专用库,或者具有缓存特性的框架;
  • 平台级缓存有很多种:
    • Ehcache
    • JBoss Cache
    • OSCache
    • Guava Cache
Guava Cache
  • 是一个完善的本地缓存;
  • 多个请求并发访问一个 key,Guava Cache 的 CacheLoader#load 方法可以控制,对同一个 key,只让一个请求去读取数据,其他的阻塞等待就可以了;
为什么不用 Map 做本地缓存
  • 内存管理:Map 本身就是一个 Java 对象,在往这个对象中放数据的时候,其并没有对使用的内存做控制和管理,不断的往里面放数据,会使这个对象占用的内存越来越大,需要自己写代码控制内存的释放;
  • 缓存过期策略:Map 没有这个功能;
  • 容量规划:缓存总地有个容量大小的限制,Map 没有这种限制;
  • 线程安全:Map 不是线程安全的;
  • 持久化:Map 的数据是存储在内存中,重启的时候数据就丢失了;
  • 多实例数据同步及一致性:Map 无法做到多实例之间的数据同步;
平台级缓存的特点
  • 基于应用程序的缓存库;
  • 具有一定的分布式能力;
  • 数据不能保证强一致性;
  • 无法保证高可用;

应用级缓存

  • 当平台级缓存不能满足系统的性能要求的时候,需要开发者通过代码来实现缓存控制,这就需要集中式缓存:
  • 集中式缓存的代表:Redis,Memcache;
  • CDN 缓存;
Redis vs Memcache
比较项 Memcache Redis
数据结构 只支持简单的 key-value 结构 String / Hash / List / Set / SortedList
持久化 不支持 支持
容量大小 内存,数据存储不宜过多 内存
读写性能 很高 很高
线程模型 多线程 Redis 6.0 以前是单线程
CDN 缓存的优点
  • 本地 Cache 加速;
  • 实现跨运营商的网络加速;
  • 远程加速;
  • 带宽优化;
  • 集群抗攻击(抗 DDos 攻击);

相关文章

  • 08 | 服务端缓存的分类和介绍

    服务端缓存的种类 数据库缓存; 平台级缓存; 应用级缓存; 数据库缓存 数据库缓存是一种比较特殊的缓存,是数据库自...

  • okhttp缓存

    1. Http协议中的缓存 1.1 缓存分类 1.1.1 服务端缓存 常见的服务端有Ngix和Apache。服务端...

  • Http缓存

    1. 缓存的分类 缓存分为服务端缓存和客户端缓存 服务端缓存又分为代理服务器缓存和反向代理服务器缓存(也叫网关缓存...

  • OkHttp缓存之简单分析

    缓存分类 http请求有服务端和客户端之分。因此缓存也可以分为两个类型服务端侧和客户端侧。 缓存——服务端常见的服...

  • 浏览器 HTTP 协议缓存机制详解

    说了session 和cookie的区别后,说说缓存的机制 1、缓存的分类 缓存分为服务端侧(server sid...

  • Nginx作为缓存服务

    一、介绍 Nginx缓存服务原理 缓存服务的类型分为服务端缓存,客户端缓存和代理缓存。通过Nginx作缓存服务即是...

  • 前端静态资源如何实现缓存

    缓存分类 强缓存 (一般不会向服务器发起请求) ** 服务端通过Cache-control(http1.1) Ex...

  • 大型分布式系统中的缓存架构

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要...

  • 大型分布式系统中的缓存架构

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要...

  • 深入理解分布式系统中的缓存架构(上)

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 1 缓存概述 缓存概述 2 缓存的分类 ...

网友评论

      本文标题:08 | 服务端缓存的分类和介绍

      本文链接:https://www.haomeiwen.com/subject/jdbplktx.html