
缓存
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 · 161 阅读 · 1 评论 -
Mybatis 缓存
Mybatis 缓存知识点Mybatis 中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指 SqlSession 级别的缓存,当在同一个 SqlSession 中进行相同的 SQL 语句查询时,第二次以后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存 1024 条 SQL。二级缓存是指可以跨 SqlSession 的缓存。 是 mapper 级别的缓存,对于 mapper 级别的缓存不同的sqlsession 是可以共享的。(1)Mybatis 的一级原创 2020-10-12 07:47:35 · 157 阅读 · 0 评论 -
分布式缓存
分布式缓存知识点(1)缓存雪崩缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 一般有三种处理办法:一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。为 key 设置不同的缓存失效时间。(2)缓存穿透存穿透是指用户查询数据,在数据库原创 2020-10-10 00:05:33 · 212 阅读 · 0 评论