美文网首页
缓存思想

缓存思想

作者: minfily | 来源:发表于2020-05-21 19:29 被阅读0次

[toc]

图来自:https://xie.infoq.cn/article/49947a60376964f1c16369a8b

思想不是落地方案

这里探讨的缓存是缓存思想,广义的缓存模式,不是在某个技术点或者是框架中的应用。但是一般框架和技术点也会根据广义的缓存模式来做缓存设计,所以每种模式又都有很多现实实现;

缓存的一些分类

缓存从广义上分类:
1.cache-aside(缓存在一边)
在缓存找到数据,称之为缓存命中,没找到数据为缓存未命中;
2.read-through-cache (通过缓存读取数据)
3.write-through-cache (通过缓存写数据)
4.write-around (直写数据)
5.write-back (多次写入缓存再一次写目标库)

缓存分类详情

1.cache-aside(缓存在一边)
在缓存找到数据,称之为缓存命中,没找到数据为缓存未命中;
缓存中找到数据,直接返回;缓存中未找到会到库中查询,并将查询到数据存到缓存中;
技:http缓存处理,webview缓存处理,图片缓存处理,token鉴权很多方面都在使用缓存命中策略;

cache-aside

2.read-through-cache (通过缓存读取数据)
数据每次都到缓存中获取,缓存中未匹配时从库中拿数据,给到缓存然后再从缓存返回;
技:nexus的私有库逻辑(每次是到缓存中拿,缓存中没有会自动到网上同步)

read-through-cache

3.write-through-cache (通过缓存写数据)
数据的写入都先写到缓存区,缓存区再同步给库中;
技:mmkv的存取策略(用户端只关注写入缓存中,会由操作系统将数据同步到文件中;)

write-through-cache
read-through-cache 缓存读和write-through-cache缓存写配合起来做可以很方便的解决缓存不一致的问题
read-through-cache + write-through-cache

4.write-around (直写数据)
数据的写入,每次都是直接操作库,不做缓存;
技:系统中直接读取、操作文件

write-around

一般缓存命中cache-aside的读策略,适合和write-around直写数据库策略来配合;
如果配合write-through-cache缓存写入的话,会产生问题;
在读未命中缓存的时候,同时进行缓存写的话会产生覆盖缓存中数据的问题;

cache-aside +write-around

5.write-back (多次写入缓存再一次写目标库)
write-through-cache的改良款,主要针对于多次小规模的写操作先多次写入缓存区;再通过合适时机写入到库中;
技:mysql数据的写操作;

write-back

相关文章

  • 缓存思想

    [toc] 图来自:https://xie.infoq.cn/article/49947a60376964f1c1...

  • 缓存设计思想

    缓存设计思想 概念思想 缓存就是将频繁使用的资源或者数据放入到内存中,每次操作的时候,先到内存中获取,获取不到,再...

  • 关于缓存的一些重要概念(Redis 前置菜)

    1. 缓存的基本思想 很多朋友,只知道缓存可以提高系统性能以及减少请求相应时间,但是,不太清楚缓存的本质思想是什么...

  • 用函数缓存 阶乘函数 提高运行速度

    用函数缓存 阶乘函数 提高性能缓存函数不常用但是思想还是要掌握的写代码没什么比思想的训练更重要的了

  • nginx缓存(proxy_cache模块)

    1 nginx缓存 1.1 什么是缓存? 缓存的基本概述 缓存的基本思想是利用客户端访问的时间局限性,将客户端访问...

  • mybatis缓存设计思想

    MyBatis将数据缓存设计成两级结构,分为一级缓存、二级缓存: 一级缓存是Session会话级别的缓存,位于表示...

  • 缓存原理和设计

    缓存原理和设计 缓存的基本思想 什么是缓存? 缓存原指CPU上的一种高速存储器,它先于内存与CPU交换数据,速度很...

  • Android缓存实践2019-11-27

    LRU缓存原理 LRU(Least Recently Used),近期最少使用的算法,它的核心思想是当缓存满时,会...

  • 6.Quick-cocos2dx中的网络图片加载

    0.前言由于效果简单,便不贴效果图了,功能的核心实现在excute函数中,其中缓存部分采用了三级缓存的思想——缓存...

  • LRU算法

    LRU是最近最少使用的算法,它的核心思想是当缓存满时,会优先淘汰那些最近最少使用的缓存对象。采用LRU算法的缓存有...

网友评论

      本文标题:缓存思想

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