计算高可用多级缓存架构
缓存原理与设计框架
缓存(cache)介于速度相差较大的两个硬件之间,调解速度传输差异 --空间换时间
3W1h
内容
有效期
缓存方案 http缓存 app缓存 redis memcache……
更新机制 过期更新(有效期内一直使用缓存,超过有效期后重新读取 如http) 定期更新(定时更新缓存) 主动更新(当数据修改后主动更新缓存)
缓冲(buffer) 临时储存区域,保存一个到另个设备的数据
多级缓存架构
5级缓存架构(本地缓存、cdn、web容器、应用缓存、分布式缓存)
多级缓存架构核心
性能需求
架构复杂度
4级缓存架构(比5级去掉了CDN)
3级缓存架构(比4级去掉了 应用类缓存)
本地缓存
app
app将数据缓存到本地:sqlite、本地文件、本地图片(picasso、glide、fresco)
http
http标准协议缓存:参考http协议,cache-control、ifnonematch
cdn缓存-内容分发网络
各地的边缘服务器通过中心网络的算法使用户就近获取内容 提高响应速度和命中率
web容器缓存
一般缓存静态资源
应用缓存 应用在本地缓存的数据
进程缓存(threadlocal) concurrenthashmap、oscache、ehcachae、进程外缓存、堆外缓存、磁盘ssd缓存
分布式缓存 分布式系统提供的缓存功能
redis memcached
SSD为什么能缓存
随机读性能 微秒级,机械硬盘是毫秒级
redis&memcahed对比
高可用
r:集群分片、主备复制
m:一致性hash、重启丢数据
数据结构
r: Kv结构、五种数据结构
m:Kv结构、value无类型
性能:
r:(旧版本) 单核,小数据量读写效率高
m:多核,大数据量读写效率高
集群方案:
m:一致性hash、客户端算法实现
r:主备、集群、哨兵
并发方案:
r:(旧版本)单进程、epoll
m:多线程,libevent
持久化
r:rdb、aof
m:无
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体