当前位置: 首页 > news >正文

专业网站制作设/网站推广步骤

专业网站制作设,网站推广步骤,微信上浏览自己做的网站,花瓣网设计网站前言 提起缓存,我们首先想到缓存是一种存储数据的组件,它的作用是让对数据的请求能更快地返回。 我们一般会把不经常改变而且又需要快速访问的数据进行缓存,常用的做法是将这些数据写进内存中,当需要访问的时候能快速地返回需要…

前言

提起缓存,我们首先想到缓存是一种存储数据的组件,它的作用是让对数据的请求能更快地返回。

我们一般会把不经常改变而且又需要快速访问的数据进行缓存,常用的做法是将这些数据写进内存中,当需要访问的时候能快速地返回需要的结果。

实际上,凡是速度相差较大的两种硬件之间,用于协调两者数据传输差异的结构,都可以称为缓存。

在日常开发过程中,我们就经常将数据放在的本地缓存(escache)或者外部缓存(Redis)中。

缓存的读写策略

缓存听起来很简单,无非就是优先读缓存,缓存不命中就从数据库中查询,查询到了再写回缓存。但实际上,根据不同业务场景,缓存的读写策略也是不同。我们就以最常见的缓存+数据库的场景来分析。

Cache Aside(旁路缓存)策略

Cache Aside是我们使用最多的策略,缓存不和数据库直接进行交互,而是由应用程序来同时和缓存以及数据库打交道。Cache Aside的名字正体现了这个模式,Cache在应用的一旁(aside)。
在这里插入图片描述

读数据时

  1. 程序需要判断缓存中是否已经存在数据
  2. 当缓存中已经存在数据(也就是缓存命中,cache hit),则直接从缓存中返回数据
  3. 当缓存中不存在数据(也就是缓存未命中,cache miss),则先从数据库里读取数据,并且存入缓存,然后返回数据

写数据时

  1. 先更新数据库
  2. 再删除缓存中对应的数据

Read-Write Through (读写穿透)策略

Read/Write Through Pattern中服务端把缓存视为主要数据存储,从中读取数据并将数据写入其中。缓存服务负责将此数据读取和写入 DB,从而减轻了应用程序的职责。

读数据时 (Read Through)

  1. 从缓存中读取数据,读取到就直接返回 。
  2. 读取不到的话,则由缓存组件先从数据库加载,写入到缓存后返回响应。
    在这里插入图片描述

写数据时 (Write Through)

  1. 先查缓存,缓存中不存在,直接更新数据库。
  2. 缓存命中,则先更新缓存,然后缓存服务自己更新数据库(同步更新缓存和数据库)
    在这里插入图片描述

在 Cache Aside下,发生读请求的时候,如果 cache 中不存在对应的数据,是由客户端自己负责把数据写入 cache,而 Read-Through策略则是缓存服务自己来写入缓存的,这对客户端是透明的。

Read/Write Through策略的特点是由缓存节点而非用户来和数据库打交道,在我们开发过程中,这种策略比较少使用,原因在于我们一般使用的缓存组件(Redis或者Memcached)都不提供写入数据库的功能。只有本地缓存Guava Cache中的Loading Cache有Read Through策略的影子。

可以看出,由于Write Through写数据时需要同时更新数据库,对于性能会有比较大的影响。那么我们可不可以异步更新数据库呢?这就是接下来的Write Back策略。

Write-Back(异步缓存写入)策略

Write-Back策略和Read-Write Through策略的共同点在于两者都是由缓存服务来负责缓存和数据库的读写。

不同点在于Write-Back将缓存作为可靠的数据源,每次都只写入缓存,而写入数据库则采用异步的方式,比如当数据要被移除出缓存的时候再存储到数据库或者一段时间之后批量更新数据库。
在这里插入图片描述

优点:在于读写速度非常快,因为都是从缓存中直接读取和写入。对于服务中数据库不可用有一定的容忍度,当数据库不可用时,也能正常处理结果,待数据库恢复后再重新更新数据。同时也降低了数据库压力,写数据库操作可以放在业务流量较低的时候进行。

缺点:有数据丢失的风险,如果缓存服务挂掉而数据没有及时写入数据库中,则数据会丢失。

适合场景: 数据经常变化又对数据一致性要求没那么高的场景,比如浏览量、点赞量

总结

这三种缓存读写策略各有优劣,需要我们根据具体的业务场景选择更适合的。如果读多写少,且对于数据一致性要求高,可以使用Cache Aside策略。如果写多读少,且对于数据一致性要求不高,可以Read-Write Through或者Write-Back策略。

Ryan.ou

http://www.jmfq.cn/news/4854817.html

相关文章:

  • 南通代办公司注册连锁/谷歌优化是什么意思
  • 湖南做网站360o/游戏推广平台代理
  • 企业做网站需要什么/域名注册需要多少钱
  • 营销型网站有哪些app/中企动力做网站推广靠谱吗
  • 网站前端/百度开户
  • 上海网站建设网络推广/百度网站制作联系方式
  • 交互式网站开发技术/百度竞价包年推广公司
  • 网站对于企业的好处/seo标签优化
  • 服装设计自学零基础/网站的seo如何优化
  • 厦门百度推广优化排名/seo去哪里学
  • 网站页面设计图是用什么软件画的/影响关键词优化的因素
  • 泰兴做网站/厦门网络营销推广
  • 专注做动漫的门户网站/如何seo推广
  • wordpress 后台进不去_如何替换主题/合肥百度推广排名优化
  • 外贸独立网站做仿品/整站优化和关键词优化的区别
  • 企业信息管理系统案例/台州seo排名优化
  • 如何自己办网站/域名注册多少钱
  • 杭州招标信息网/电脑网络优化软件
  • 网站搭建团队/淘宝指数在线查询
  • 网站托管服务适合/微信推广怎么弄
  • 图解asp.net网站开发实战/今天新闻头条新闻
  • 在线看网站建设/湖南平台网站建设制作
  • 怎样做购物网站/游戏加盟
  • 小程序做网站/天津优化公司
  • 品牌型网站建设哪里好/网站百度不收录的原因
  • 团购做的好的网站/线上营销平台
  • 手机网站跟pc网站有什么不同/百度怎么注册自己的网站
  • 记事本网站开发/建站模板网站
  • 织梦做音乐网站/合肥网站快速排名提升
  • 怎么看网站做没做备案/网络营销的主要内容有哪些