MD 更新:未知

单体架构

flowchart TD
subgraph 应用程序
A[应用程序]
B[数据库]
C[文件]
end

A --> B
A --> C

垂直架构

flowchart TD
subgraph 应用服务器
A[应用程序]
end

subgraph 数据库服务器
B[数据库]
end

subgraph 文件服务器
C[文件]
end

A --> B
A --> C

使用缓存改善网站性能

flowchart TD
subgraph 应用服务器
A[应用程序]
end

subgraph 数据库服务器
B[数据库]
end

subgraph 文件服务器
C[文件]
end

subgraph 分布式缓存服务器
D[缓存]
end
A --> B
A --> C
A --> D

Memcache

是一个高性能的分布式内存对象缓存系统,用于动态 web 应用以减轻数据库负载。 在内存里维护一个统一巨大的 hash 表,数据库存在该 bash 中

Redis

一个开源使用的 ANSIC 语言编写、支持网络、可基于内存也可以持久化的日志型、Key-value 数据库

Squid

一个高性能的代理缓存服务器

三种缓存使用模式

Cache-Aside Pattern(旁路缓存模式)

将缓存的读取和更新操作与数据库分开处理 适用场景:读多写少,更新不频繁,高并发下的读性能优化

读写穿透

将数据库与缓存紧密结合,使应用程序在读写数据时都通过缓存层操作,强一致性

异步缓存写入

数据先写入缓存,再异步批量写入数据库,最终一致性