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

缓存的更新机制

被动更新-固定时间过期—放弃了实时一致性

Setnx固定时间+随机时间

主动更新—更新数据库后、直接更新缓存

cache aside

写:先更新数据提供方、再删除缓存、

鸵鸟算法:忽略一些潜在问题、问题出现的概率极低

消息队列的消息重试、防止删除缓存失败、没消费

Read/Write Through

直接写入缓存、从缓存同步到数据发。调用方只和缓存交互

必须写成功:缓存成功、数据方成功——一个事务。TCC实现。慢了。读多写少。写少慢些可接收

初始化:

1、启动缓存、从数据方初始化

2、读取缓存,初始化

缓存预热。缓存没数据,命中率低。

Write Behind

异步写入数据方。加入消息队列。保证最终一致性。

缓存清理机制

缓存有限、清理未来不被访问,保留未来被频繁访问、提高命中率

过去访问多的、最近被更新的、最近被访问的

过期全部清理、要求缓存数据都有一个生存期、有效期

轮询时效清理

自动时效清理、本质还是轮询

数目阀值清理

1、条数 2、大小

FIFO

LRU

Linked-HashMap

实战:

时效性清理+数据阈值

LRU+软引用

#缓存风险点:

缓存穿透—缓存没用、数据提供方也没有—无效调用、增加数据提供方压力、缓存无用

解决方案:缓存中,缓存一份空数据。有key无value

#缓存雪崩

大量缓存突然失效、引发数据提供方压力骤增

解决方案: 数据阈值清理:阈值高可以缓解;过期时间:随机值、错峰失效

软引用清理、LRU进行强引用

#缓存击穿:

缓存没有、数据提供方有数据。没透。

#实战:

清理机制+更新机制,针对缓存,共同考虑

#缓存预热:

缓存服务启动后,脚步直接灌入,init时候加载。

#缓存的位置:

缓存要靠前、要早

前端缓存

cdn缓存

服务器缓存

数据库缓存

读缓存

写的访问量增大:

平峰

降级

灰度发布

#数据设计

数据库选型:

是否海量数据、大数据?

数据结构是行/列存储?

是否宽表(字段数)

数据属性:(业务数据常用的?辅助数据(日志)?)

是否要求事务?

实时性?—写延迟、读延迟要求不一样。写高读低-          写低读高

查询量:大量记录的少数列、少数记录的所有列

一致性要求

增删改查的要求

99%的业务都用结构化数据—关系型数据库、mysql,oraclee,sqlite

非关系型

列式数据库:Hbase

键值对:redis,memcached

文档:mongoDB—不知道有多少个字段

时序:influx DB

搜索:ES

优化数据库集中在 关系型数据库

sql和nosql是互补的关系

存储引擎选择:

支持的字段、数据类型、锁类型、索引、事务

innoDB 不支持hash索引、会转为btree

表结构设计:

先设计关系—>对象

需求->设计数据库->前期考虑很好的扩展性,

先设计对象—>关系

便于理解、快速实施。对象关系改变、结构变化大

数据冗余—允许反范式

CRUD异常:某些数据缺失,导致其他数据无法插入

删除异常:删除数据是,导致其他数据一起丢失

表、字段、索引

优化:索引、历史数据的拆分、分库分表

相关文章:

  • SQL进阶之旅 Day 2:高效的表设计与规范:从基础到实战
  • Anthropic推出Claude Code SDK,强化AI助理与自动化开发整合
  • 【时时三省】Python 语言----字符串,列表,元组,字典常用操作异同点
  • R语言科研编程-标准偏差柱状图
  • 2025深圳国际无人机展深度解析:看点、厂商与创新亮点
  • 开发者工具箱-鸿蒙网络工具之Ping工具开发实践
  • 自媒体运营新利器:账号矩阵+指纹浏览器,解锁流量密码
  • React整合【ECharts】教程001:柱状图的构建和基本设置
  • 【uniapp 开发经验】小程序移动端新增页面适配指南
  • 超越OpenAI CodeX的软件工程智能体:Jules
  • Elasticsearch实操案例
  • 基于ssm+mysql的班级管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • 【MySQL】第8节|Innodb底层原理与Mysql日志机制深入剖析(一)
  • Spring boot和SSM项目对比
  • RT Thread Nano V4.1.1 rtconfig.h 注释 Configuration Wizard 格式
  • React 文件分片上传与下载全解析
  • 一文快速了解Vue3服务端渲染(SSR)
  • 电子电路:什么是孤立导体?即孤立导体的电荷分布与特性
  • Mysql 通过案例快速学习常见操作
  • 最大似然估计(Maximum Likelihood Estimation, MLE)详解
  • wordpress评论表单/北京推广优化经理
  • 目前做网站流行的语言/网络营销与直播电商好就业吗
  • 住房和城乡建设部科技网站首页/关联词有哪些五年级
  • wordpress中文论坛/seo搜索排名优化公司
  • 微商的自己做网站叫什么名字/百度指数免费查询入口
  • 文件备案网站建设方案/一般的电脑培训班要多少钱