![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存
ITWUYI
这个作者很懒,什么都没留下…
展开
-
LRU缓存实现
LRU缓存实现 LRU(Least Recently Used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 import java.util.LinkedHashMap; import java.util.Map; public class Solution { //LRU缓存实现 public static void main(String[] args) { Map<String, S原创 2020-11-30 13:11:47 · 126 阅读 · 1 评论 -
Mybatis 缓存
Mybatis 缓存知识点 Mybatis 中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指 SqlSession 级别的缓存,当在同一个 SqlSession 中进行相同的 SQL 语句查询时,第二次以后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存 1024 条 SQL。二级缓存是指可以跨 SqlSession 的缓存。 是 mapper 级别的缓存,对于 mapper 级别的缓存不同的sqlsession 是可以共享的。 (1)Mybatis 的一级原创 2020-10-12 07:47:35 · 134 阅读 · 0 评论 -
分布式缓存
分布式缓存知识点 (1)缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 一般有三种处理办法: 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。 为 key 设置不同的缓存失效时间。 (2)缓存穿透 存穿透是指用户查询数据,在数据库原创 2020-10-10 00:05:33 · 102 阅读 · 0 评论