东莞行业网站建设,txt怎么做pdf电子书下载网站,新冠疫苗接种率,xx市院门户网站建设方案1 什么是缓存?
缓存就是数据交换的缓冲区#xff0c; 是存贮数据的临时区#xff0c;一般读写性能较高 \textcolor{red}{是存贮数据的临时区#xff0c;一般读写性能较高} 是存贮数据的临时区#xff0c;一般读写性能较高。缓存可在多个场景下使用 以一次 w e b 请求为例…1 什么是缓存?
缓存就是数据交换的缓冲区 是存贮数据的临时区一般读写性能较高 \textcolor{red}{是存贮数据的临时区一般读写性能较高} 是存贮数据的临时区一般读写性能较高。缓存可在多个场景下使用 以一次 w e b 请求为例演示不同阶段的缓存作用 \textcolor{blue}{以一次web请求为例演示不同阶段的缓存作用} 以一次web请求为例演示不同阶段的缓存作用
web开发时浏览器发送请求时通常会缓存不经常变更静态文件如css、js文件。浏览器缓存无需每次请求进行加载降低网络延迟提升响应速度应用层缓存请求到达Tomcat 服务器时常用redis【具有优秀的读写能力延迟在毫秒级别】作为缓存可缓存经常从数据库中获得的数据。数据库缓存应用层缓存未命中时请求到达数据库任然可以针对数据库方面做缓存处理SQL语句相同的查询结果会被缓存下来CPU、磁盘缓存DB的操作需要进行磁盘的读写以及cpu 的计算可使用CPU缓存以及磁盘缓存
2 Redis 缓存模型
由于redis是基于内存实现的数据库数据的读写快且可以将redis做为集群部署意味着高可用。所以通常可用redis数据库作为应用程序的缓存区。其缓存模型如下 (1)请求从客户端发出经由redis时命中则直接缓存
(2)请求从客户端发出经由redis时未命中缓存需要经过数据库处理【低效】获得数据后写入缓存
(3) 随着请求的不断发出redis累计的缓存数据越来越多请求直接命中redis缓存的几率增大大大减少了数据库的低效操作。 R e d i s 缓存是把双刃剑 \textcolor{red}{Redis缓存是把双刃剑} Redis缓存是把双刃剑 尽管他能降低后端的负载、提升程式的性能。但是在 数据一致性成本变高 \textcolor{blue}{数据一致性成本变高} 数据一致性成本变高。且由于使用redis数据库其运维成本变高。 3 Redis 缓存更新策略
为了使得缓存中的数据与DB中的数据保持一致需要介绍redis缓存的更新策略
内存淘汰超时剔除主动更新说明不用自己维护利用redis的内存淘汰机制。当内存不足时自动淘汰部分数据下次查询时更新缓存给缓存数据添加TTL时间到期后自动删除缓存下次查询时更新缓存编写业务逻辑在修改数据库的同时更新缓存一致性差【淘汰时间不确认由redis底层决定】一般好维护成本无低高
在实际选用缓存更新策略时需要根据业务场景来选择 业务场景
低一致性需求 使用内存淘汰机制高一致性需求主动更新并以超时剔除作为兜底解决方案