美文网首页
缓存系统应用

缓存系统应用

作者: kar_joe | 来源:发表于2020-03-13 22:25 被阅读0次

经典缓存设计方案

CacheAside

3.PNG

优点:简单易于实现
缺点:自己维护数据更新后的同步逻辑;对业务代码有侵入性

Reade\Write Through

4.PNG

优点:把缓存和数据库看作一个整体,业务逻辑只需要读取和写入数据,不需要关心数据来源于缓存还是数据库,不需要维护同步逻辑
缺点:需要自己封装好缓存和数据库的同步逻辑

WriteBack

writeback.PNG

写入只更新缓存,异步同步到数据库
优点:读写都是操作内存,性能高
缺点:数据不是强一致性;宕机可能丢数据

异步更新到缓存

2.PNG

优点:引入缓存后对原有系统改动较少;
缺点:存在数据不一致性;没提升写性能

常见问题及解决

大并发场景下需要关注以下缓存使用问题

缓存穿透

高并发查询数据库与缓存都没有的key,可能是恶意攻击


缓存穿透1.PNG

解决办法:

  1. 给不存在的key,预先设置值,查询到之后应用决定放弃还是等待一段时间,避免打到数据库;
  2. 借助布隆过滤器

缓存并发

大量并发请求同时查询一个不在缓存的key,导致全打到数据库,查询到之后又都更新到缓存


缓存并发.PNG

解决办法:引入锁机制,只允许一个请求转发到数据库


缓存并发解决PNG.PNG

缓存雪崩

大量缓存在同一时间同时失效,导致大量请求都打到数据库
解决办法:失效时间随机;或者缓存不过期

热点数据

为提高命中率,按照访问频率以及访问时间对数据进行排序,优先保留使用频率高以及最近使用的数据


热点数据.PNG

总结

总结.PNG

相关文章

  • 【转】缓存在分布式系统中的应用

    【转】缓存在分布式系统中的应用 缓存在分布式系统中的应用 摘要 缓存是分布式系统中的重要组件,主要解决高并发,大数...

  • 缓存系统应用

    经典缓存设计方案 CacheAside 优点:简单易于实现缺点:自己维护数据更新后的同步逻辑;对业务代码有侵入性 ...

  • 转载:系统性能提升优先法宝 | 缓存应用实践

    转载:系统性能提升优先法宝 | 缓存应用实践 缓存是系统性能提升优先法宝,在互联网应用系统中,屡试不爽。网上有很多...

  • 应用级缓存的工作流程以及Spring Boot缓存原理分析

    缓存是解决高并发、大流量数据操作性能问题的利器。缓存一般分为系统级缓存和应用级缓存,系统级缓存是由操作系统提供的缓...

  • 应用限流及其常见算法

    应用限流思路 在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流: 缓存:缓存的目的是提升系统访问速度和...

  • URL

    URL加载系统:缓存、Cookies与协议 缓存: URL为请求提供了基于磁盘缓存和内存缓存,缓存减少了应用对网络...

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

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

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

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

  • 计算机网络(3)

    应用层 域名系统DNS(Domain Name System) 浏览器的DNS缓存 操作系统的DNS缓存 host...

  • 让硬件为我们工作

    1. iOS操作系统不会不会让应用向前帧缓存和后帧缓存绘图,也不会让应用直接控制前帧缓存和后帧缓存之间的切换。操作...

网友评论

      本文标题:缓存系统应用

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