Spring三级缓存是为了解决对象间的循环依赖问题。 A依赖B,B依赖A,这就是一个简单的循环依赖。 我们来先看看三级缓存的源码。 (1)查看“获取Bean”的源码,注意getSingleton()方法。 public …
标签:缓存
MyBatis一级缓存和二级缓存
一、一级缓存 Mybatis 的一级缓存是指Session缓存。一级缓存的作用域默认是SqlSession。Mybatis默认开启一级缓存。 在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询…
缓存数据一致性-解决方案
加缓存无疑是减少数据库、服务器压力的一大神器,缓存里的数据一般都是稳定的,不容易更改的,但是有的时候,某些业务场景需要更改缓存中的内容,这必然就涉及到更改本地数据库中的数据,其中关键的一个点就是保证其数据库和缓存的数据一…
【缓存】缓存更新策略
缓存用于缓解后端db的压力,策略指的是更新缓存以及db的方式。 主要可以分为两个大类: 调用方主动更新缓存以及db: 这种是最最常见也是最最容易想到的方式。即调用端需要同时维护db和缓存的调用,调用端逻辑比较复杂。 读取…
笨方法扩容C盘(C盘内存不足)不用重装系统软件配置路径
C盘扩容 优点:不用全部磁盘重新分配,不用重装系统软件,配置软件路径,学计算机的都知道,有些软件配置路径是非常头疼的问题,毫不夸张可以花上一天时间,甚至有些人花钱去淘宝找人配置。 适用于: 1.C盘不足 2.在加固态的时…
【虚幻】清理缓存文件(C盘占用过大)
使用UE4时,引擎的默认编译文件保存在C盘,久了会使C盘爆满。这样子: 我们需要先清理调C盘现有的缓存文件,然后修改一下缓存路径; 一、清理C盘缓存 缓存文件位置C:\Users\用户名\AppData\Local\Un…
Redis incr解决并发问题
项目背景: 1、新增问题件工单,工单中有工单编码字段,工单编码字段的规则为 “WT”+yyyyMMdd+0000001。 2、每天的工单生成量是30W,所以会存在并发问题 解决思路: 1、首先乐观的认为redis不会宕机…
昨天面试被问到的 缓存淘汰算法FIFO、LRU、LFU及Java实现
缓存淘汰算法 在高并发、高性能的质量要求不断提高时,我们首先会想到的就是利用缓存予以应对。 第一次请求时把计算好的结果存放在缓存中,下次遇到同样的请求时,把之前保存在缓存中的数据直接拿来使用。 但是,缓存的空间一般都是有…
Redis 分布式锁避免死锁的使用方式
一、什么是分布式锁 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因…
缓存数据一致性-解决方案
加缓存无疑是减少数据库、服务器压力的一大神器,缓存里的数据一般都是稳定的,不容易更改的,但是有的时候,某些业务场景需要更改缓存中的内容,这必然就涉及到更改本地数据库中的数据,其中关键的一个点就是保证其数据库和缓存的数据一…