查询到最新的12条

3. 一级缓存解析

文章目录 1. 一级缓存命中条件1.1 SQL与参数相同1.2 同一个会话1.3 相同的MapperStatement ID1.4 RowBounds分页的offset和limit要相等 2. 一级缓存源码解析3.一级缓存失效场景 在上一篇基础上,我们继续看下一级缓存相关内容 mybatis中存在同时存在一级缓存和二级缓存,两者区别如下: 一级缓存:也叫做会话级缓存,生命周期仅存在于当前会话&#xff0 继续阅读

三级缓存的基本使用

三级缓存: 三级缓存的提出就是为了提升用户体验。当我们第一次打开应用获取图片时,先到网络去下载图片,然后依次存入内存缓存,磁盘缓存,当我们再一次需要用到刚才下载的这张图片时,就不需要再重复的到网络上去下载,直接可以从内存缓存和磁盘缓存中找,由于内存缓存速度较快,我们优先到内存缓存中寻找该图片,如果找到则运用,如果没有找到(内存缓 继续阅读

SpringBoot+Mybatis实现登录注册的示例代码

学习SpringBoot+Mybatis实现的登录注册功能的Demo,实现这个Demo在网上也参考了资料和代码,本文是本人在实现Demo后的个人总结,以便理清思路。 1.环境 jdk8 : “1.8.0_281” Maven: 3.6.3 Idea:2020.2 Mysql:5.6.40 Navicat:10.1.7 2.步骤 2.1 创建一个SpringBoo 继续阅读

java实现LRU缓存淘汰算法的方法

LRU算法:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的缓存(即使该缓存被访问的次数最多)。 如何实现LRU缓存淘汰算法 场景: 我们现在有这么个真实场景,我在爬取某个网站时,控制该网站的代理IP并发数,太多会搞垮对方网站的对吧,要蹲号子的呢。这里我需要维护一个代理IP代理池,而且这些IP肯定不是一直都很稳定的,但是又不能取一个就丢一个,这样太浪费资源。所以我会将这些IP缓存起来,进行按需提取,采用LRU 继续阅读

一级缓存、二级缓存、三级缓存是什么?作用?区别?

 一级缓存、二级缓存、三级缓存是什么?作用?区别? 首先简单了解一下一级缓存。目前所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。其中,一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向CPU递送各类运算指令;一级数据缓存用于暂时存储并向CPU递送运算所需数据,这就是一级缓存的作用。那么,二级缓存的作用又是什么呢?简单地说 继续阅读

【Redis】缓存一致性

文章目录缓存一致性读缓存**双检加锁**策略写缓存保障最终数据一致性解决方案先更新数据库,再更新缓存案例演示1->更新缓存异常案例演示2->并发导致先更新缓存,再更新数据库案例演示->并发导致先删除缓存,再更新数据库案例演示->并发导致解决策略->延时双删先更新数据库,再删除缓存(推荐~~)案例演示1->更新缓存异常解决策略->消息队列重试写Redis缓存如何选方案Redis与MySQL数据双写一 继续阅读

DNS缓存中毒攻击

什么是DNS缓存中毒 DNS缓存中毒是一种网络攻击,它使您的计算机误以为它会到达正确的地址,但事实并非如此。攻击者使用DNS缓存中毒来劫持互联网流量并窃取用户凭据或个人数据。DNS缓存中毒攻击也称为DNS欺骗,它试图诱骗用户将其私人数据输入不安全的网站。 什么是DNS缓存 在讨论攻击之前,我们需要重新了解DNS和DNS缓存。DNS是IP地址和域名的全球目录。DNS缓存是将这些地址存储在世界各地的DNS服务器中的系统。 为了保持您的DNS请求快速,原始开发人员创建了 继续阅读

CPU三级缓存和缓存行的概念

CPU三级缓存和缓存行的概念(并发可见性) 什么是三级缓存为什么需要三级缓存 缓存块(行)的概念程序局部性原理cpu cache 读取过程缓存行读多大?如何写出让cpu跑的更快的代码结合并发可见性的总结 什么是三级缓存 cpu存取数据大致可以认为是下图的流程 cpu拿到需要的内存地址,之后这个地址会被mmu转换成真正的物理地址,接下来会去查接下来查L1 cache&#xff0 继续阅读

3.多级缓存

1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能&#xff1a 继续阅读