《优化接口设计的思路》系列:第1篇—什么是接口缓存

一、缓存的定义:

缓存是一种存储数据的技术,用于提高数据访问的速度和效率。缓存通常存储在内存中,因为内存访问速度远快于磁盘和网络。数据接口通常会使用缓存技术,以降低对后端数据存储和处理的压力,提高系统性能。

当我们访问一个页面以后,这个页面中的静态资源(如图片、HTML文件、JavaScript文件等)往往会被浏览器保存下来,这个过程称为缓存(cache)。这么做是为了使用户再次访问相同页面的时候,这些静态资源不用从服务器重新下载到本地,而从缓存中直接读取,这样就加快了页面访问的速度,同时减轻了服务器和网络带宽的压力。

二、接口缓存:

1、什么是接口的后台缓存

前台访问后台接口,后台会优先从缓存(内存)中查找接口数据;

如果有数据,直接对前台响应缓存数据;

如果没有数据,与(mysql)数据库交互,得到数据,对前台响应,同时将数据进行缓存,以备下次使用;

2、前台缓存

前台在请求到接口数据后,在前台建立缓存,再发送同样请求时,发现前台缓存有数据,就不再对后台做请求了

3、什么的接口会进行接口缓存

i)接口会被大量访问:比如主页中的接口,几乎所有人都会访问,而且会重复访问

ii)在一定时间内数据不会变化(或数据不变化)的接口

iii)接口数据的时效性不是特别强(数据库数据发生变化了,不是立即同步给前台,验后时间同步给前台也没事)

注:理论上所有接口都可以建立缓存,只要数据库与缓存数据同步及时

三、举个例子:

现有一个使用商品名称查询商品的需求,要求先查询缓存,查不到则去数据库查询;从数据库查询到之后加入缓存,再查询时继续先查询缓存。

相关推荐
m0_380743877 小时前
给大模型调用加一层本地缓存,让重复请求直接命中磁盘
缓存
FakeOccupational9 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
l1t14 小时前
DeepSeek总结的在 pg_stat_statements 中诊断高基数工作负载
数据库·缓存·postgresql
2401_8949155318 小时前
新手落地 Geo 优化:源码下载、依赖安装、数据库初始化完整步骤
运维·服务器·数据库·人工智能·缓存·开源
2401_8949155319 小时前
Geo 优化源码部署避坑指南:解决访问异常、定位失效、收录卡顿问题
java·服务器·后端·缓存·开源
祈禾1 天前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存
祈禾2 天前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
孙启超2 天前
【AI应用开发】什么是混合检索(Hybrid Search)?向量检索 + BM25 关键词检索,适用场景与 RRF 融合原理
人工智能·缓存·llm·向量数据库·bm25·向量化·ai应用开发
y = xⁿ2 天前
一文掌握Redis常见八股
数据库·redis·缓存
码云骑士2 天前
101-向量数据库性能调优-100QPS到10000QPS-索引-缓存-分区压测
数据库·python·缓存