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

行情软件app网站大全下载优化官方网站设计

行情软件app网站大全下载,优化官方网站设计,网站空间永久免费,开发门户网站多少钱redis 常用于数据库缓存,一般作为旁路缓存。常见的问题是:数据一致性,缓存雪崩,缓存击穿,缓存穿透。 缓存读写策略 缓存常见的三种读写策略是旁路缓存,读写穿透,异步缓存写入。 由应用程序中的代…

redis 常用于数据库缓存,一般作为旁路缓存。常见的问题是:数据一致性,缓存雪崩,缓存击穿,缓存穿透。

缓存读写策略

缓存常见的三种读写策略是旁路缓存,读写穿透,异步缓存写入。
由应用程序中的代码操作缓存实例,缓存实例不进行任何操作,被称为旁路缓存。
应用程序将数据存入缓存实例,缓存实例同步将数据写入数据库,被称为读写穿透。
异步缓存写入是读写穿透的异步版本,缓存实例异步将数据写入数据库。

其中,旁路缓存是最常见的模式,适合读请求多的场景。
写步骤:更新数据库,删除缓存。
读步骤:从缓存读取,如果读到则返回。读不到则查询数据库,并且将数据写入缓存。

写步骤不可以先删除缓存再更新数据库,原因是会造成数据不一致问题。
场景:线程1删除缓存,线程2读取数据库旧值并且写入缓存,线程1更新数据库。此时数据库是新值,缓存是旧值。
那么先更新数据库再删除缓存可以完全避免数据不一致问题吗?
也不会,仍然可能出现如下场景:线程1读取数据库旧值,线程2更新数据库并且删除缓存,线程1更新缓存。此时数据库是新值,缓存是旧值。但是这种场景概率不高,原因是更新缓存远比更新数据库快。

旁路缓存的常见问题:

  1. 首次请求无缓存。解决办法:数据提前放入缓存。
  2. 写操作频繁导致缓存频繁删除数据,影响缓存命中率。解决办法:更新数据库同时更新缓存。如果要求强一致性,则利用锁同步更新。如果允许不一致,则为缓存添加短的过期时间,降低数据不一致影响。

数据淘汰策略

redis 提供八种淘汰策略。noeviction 表示不淘汰数据,写请求返回错误。
剩下七种策略:
volatile-random、volatile-ttl、volatile-lru 和 volatile-lfu
allkeys-lru、allkeys-random、allkeys-lfu

第一个单词表示淘汰范围,volatile 表示设置了过期时间的 key,allkeys 表示所有 key。
第二个单词表示淘汰算法。random 表示随机淘汰。lru 表示 LRU 算法。lfu 表示 LFU 算法。ttl 独属于 volatile,表示优先淘汰更早过期的数据。
LRU(Least Recently Used)表示最久未被访问的。淘汰最久未被访问的数据。只考虑访问时间,不考虑访问频次。
LFU(Least frequently used)表示最不频繁访问的。淘汰最不频繁访问的数据。

选择策略时,判断缓存是否有不可删除数据,比如置顶消息。如果有,选择 volatile,同时不设置置顶消息的过期时间。如果没有,选择 allkeys。
判断是否有明显的冷热数据,如果没有,选择 random,如果有,选择 LFU.

数据一致性

缓存与数据库数据一致性定义为:
如果缓存没有数据,则数据库数据为最新数据。
如果缓存有数据,则与数据库数据一致。

一般情况下,更新数据库的同时删除缓存可以保证一致性。此外还有:延迟双删,监听 binlog

延迟双删:步骤该改为:删除缓存,更新数据库,休眠一段时间删除缓存。
休眠时间是等待缓存主从同步更新数据。
异步重试:由异步线程第二次删除缓存。

监听 binlog:缓存管理服务,比如 canal,订阅 binlog,将删除缓存消息推送到消息队列。消费者删除缓存。

缓存雪崩

由于缓存无法处理请求,大量请求直接发往数据库,导致数据库压力激增。

原因1:大量数据同时过期。
解决办法:

  1. 为过期时间添加一定范围随机数。
  2. 服务降级。非核心数据暂停功查询,返回空值。

原因2:redis 实例宕机。
解决办法:

  1. 服务熔断。暂停业务。
  2. 请求限流。

缓存击穿

热点数据不在缓存中,大量请求直接发往数据库。

解决办法:

  1. 热点数据不设置过期时间。

缓存穿透

大量请求不存在的数据,缓存中不存在,数据库也不存在。一般是恶意攻击。

解决办法:

  1. 在缓存中设定默认值,对不存在请求返回默认值。
  2. 使用布隆过滤器快速判断数据是否存在。
http://www.dtcms.com/a/409126.html

相关文章:

  • 沙田镇网站仿做程序员网站建设
  • 陕西住房和建设部网站株洲网站优化
  • 商业网站建设方案济南seo优化外包
  • 金山区网站制作做数码相的网站
  • 深圳免费网站建设服务外贸网站在哪做外链
  • 医疗器械做网站备案做网站背景图片浪漫爱情
  • 做企业网站备案都需要什么资料vs怎么做网页
  • 动态ip上做网站wordpress淘宝客单页主题
  • 免费行情软件在线网站seo优化软件免费
  • 怎么做网站教程简单建设厅网站贵州人事考试信息网
  • 东莞网站建设公司排名青岛网络推广公司排名
  • 广东华星建设集团网站wordpress站点全屏
  • 网页站点文件夹上海市中心
  • 中山外贸网站建设学网站制作多少钱
  • 中山品牌网站建设推广代理招生平台
  • 网站开发app定制重庆企业官网建站快速搭建
  • 全国网站备案咨询电话汕头市手机网站建设品牌
  • 美轮美奂的网站建设动易医院网站管理系统
  • 中英网站怎么做亚马逊店铺网站建设费用
  • 行业网站域名选择网站备份挖掘
  • 北京做网站哪家公司最好建筑施工合同范本2021
  • 河间网站制作网页设计与网站开发方向
  • 南京做网站的凡科送审平台学生不能登录
  • 常州网站建设公司市场手机app软件安装下载
  • 滨州的网站开发二手书市场网站建设项目规划表
  • 关于网站建设的问卷调查南通微信网站开发
  • 山西网站建设多少钱h5一般用什么软件
  • 上海网站建设建站寿光网站建设m0536
  • 国外网站代理形象类网站
  • 做返利网站能赚钱么安徽seo网络推广