代码编织梦想

MyBatis:一级缓存讲解和案例实战以及二级缓存的使用(9)-爱代码爱编程

所有mapper文件里的sql操作,看之前博文,这里只对缓存做讲解 什么是缓存? 程序经常要调用的对象存在内存中,方便其它使用时可以快速调用,不必去数据库或者其它持久化设备中查询,主要就是提高性能 Mybatis一级缓存 1.一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的SQL和参数),第一次会去查

本地缓存的使用-爱代码爱编程

目录 缓存概述springboot整合caffeinespring缓存注解的使用springboot整合ehcache   缓存概述 对于访问频率高、一段时间内变动频率低的数据,可以加缓存,以缓解服务器cpu、数据库的压力。如果数据库连接池max-active设置很大但还经常报连接不够,可以考虑缓存部分结果集。   缓存可分为2大类

疫情+互联网寒冬的大背景下,也能斩获阿里/腾讯/京东/百度的offer-爱代码爱编程

突如其来的疫情,让本就寒冬的程序员更是雪上加霜 自2018年互联网寒冬开始,很多互联网公司都在裁员,而这场寒冬一直持续到2019年。 网传美团CEO王兴调侃了一句话:“2019年可能是过去最差的一年,但却是未来十年里最好的一年”。 2020年的到来,本是满怀希望,希望打破这句预言,但是却碰上了21世纪最严重的的"现代瘟疫"。 疫情之下,程序员真

RedisTemplate 学习和实践记录-爱代码爱编程

RedisTemplate 基于Jedis高度封装的redis操作框架 POM.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

Yocto理论篇 | Yocto共享状态缓存-爱代码爱编程

一般OpenEmbedded构建系统从头开始构建一切,除非BitBake 可以确定部件不需要重新构建。从根本上说,从头构建是有吸引力的,因为它意味着所有部件都是全新构建的,不存在可能导致问题的过时数据。当开发人员遇到问题时,他们通常会默认从头开始构建,这样他们从一开始就有一个已知的状态。 从零开始构建镜像对这个过程来说既是一个优点,也是一个缺点。如前一段

热点数据和冷数据是什么?-爱代码爱编程

标题热点数据和冷数据是什么? 热点数据,缓存才有价值 对于冷数据而言,大部分数据可能还没有再次访问到就已经被挤出内存,不仅占用内存,而且价值不大。频繁修改的数据,看情况考虑使用缓存 对于上面两个例子,寿星列表、导航信息都存在一个特点, 是信息修改频率不高,读取通常非常高的场景。 对于热点数据, 比如我们的某IM产品,生日祝福模块,当天的寿星列表,缓存

Redis系列(七):缓存只是读写回种这么简单吗?如果是,那么请你一定看看这篇文章!...-爱代码爱编程

   作者:z小赵 ★  一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。 前面利用 6 篇文章讲述了 Redis 相关的基础知识,相信小伙伴们对 Redis 已经有了一个比较深入的认识和理解了;本文来讲讲实际生产环境中 Redis 作为常用缓存组件是怎么和 DB(关系型数据库,比如 MySQL

小程序数据预拉取-爱代码爱编程

小程序数据预拉取 目的:合理缓存能提高用户体验度。 理解:数据预拉取也叫预加载,这项能力可以提前加载未来要用到的数据,然后缓存到本地。 使用方式 周期性更新数据预拉取1、周期性更新 小程序未启动时,微信客户端定时(12小时)拉取数据并缓存到小程序本地,用于弱网情况。周期性更新是一个任务队列。 1.1、在微信小程序后台配置预

缓存穿透、缓存击穿、缓存雪崩的问题及解决方案-爱代码爱编程

文章目录 1. 缓存处理流程2. 缓存穿透2.1 描述2.2 解决方案3. 缓存击穿3.1 描述3.2 解决方案3. 缓存雪崩3.1 描述3.2 解决方案 1. 缓存处理流程 通常,前台请求后端接口时,我们先从缓存中获取数据,如果缓存中没有,再去DB数据库中获取,同时更新缓存,并返回结果;如果DB数据库中也没有取到,则直接返回空结果 2.

Google的这个本地缓存真好用-爱代码爱编程

在平时的开发中,我们会经常用到字典,比如我们数据库里面存的是设备编码,展示需要的是设备名称;数据库中存的是用户id,展示的是用户名称。这样的字段我们会频繁的调用,那么就会频繁的查询数据库,为了保证访问速度,我们会使用缓存。但是如果使用Redis之类的中间件缓存,又有点大材小用。当然我们也可以自己将需要的数据存入Map中,但是要考虑Map的预计容量,数据缓存

详解free命令-爱代码爱编程

total:总内存大小。 used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。 free:空闲的内存大小。 shared:进程间共享内存(一般不会用,可以忽略)。 buffers:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。 cached:内存中读完缓存起来内容占的大小(这部分

关于spark程序编写过程中缓存的利用-爱代码爱编程

记录一下这次优化内容 对于高手来说,缓存的思想已经深入人心。但是很多初学者还是没有想到使用空间换取时间的思想。 过程 由于我们的spark程序要频繁的访问Hbase。几乎是一条数据就要读取一下, 导致我们的region压力非常大。进而想到。使用scan将数据一次性读取到内存中(brodecast),随后对内存进行访问。速度提高10倍之多。 代码如下

Mysql学习笔记(十) Innodb内存优化-爱代码爱编程

在上一篇文章中我们说myisam的内存优化主要有四点,主要是设置索引缓存的大小key_buffer_size、使用多个索引缓存、调整中点插入策略set global key_cache_division_limit=70、调整read_buffer_size和排序空间read_rnd_buffer_size的大小。这里要注意的read_buffer_

redis-企业级解决方案-爱代码爱编程

一缓存预热: 突然宕机{ 请求数量高 主从之间数据吞吐量较大,数据同步操作很频繁 } 解决{ 前期准备:日常例行统计访问数据,统计访问频度高的热点数据 利用LRU数据删除策略,构建数据留存队列。 准备工作: 将统计结果分类,redis优先加载级别高的热点数据 利用分布式服务器同时进行数据读取,提速数据加载过程 实施 1 使用脚本程序固定触发数据预热过程

缓存穿透、击穿、雪崩-爱代码爱编程

缓存穿透: 概念 缓存穿透是指:数据在缓存(例如Redis)中没有,在数据库(例如Mysql)中也没有。而这时用户大量发起请求查询这条不存在的数据(例如:id = -1,或id很大),就会给数据库造成很大压力。 解决 1、接口层/业务层添加校验,拒绝id <= 0的请求访问; 2、请求通过缓存没获取到数据后,会从数据库中查询,若也没获取到,则

SpringBoot 缓存之 @Cacheable 详细介绍-爱代码爱编程

一、简介 1、缓存介绍 Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。并支持使用 JCache(JSR-107)注解简化我们的开发。 其使用方法和原理都类

Redis 并发竞争解决方案-爱代码爱编程

什么是 redis 的并发竞争? 所谓redis 的并发竞争,通俗地说就是多客户端同时并发写一个 key,可能本来应该后修改的数据先修改到了,导致数据的版本错乱,或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。 举一个栗子 多客户端同时并发写一个key,一个key的值是1,本来按顺序修改为2,3,4,那么最后的值应该是

Redis的分片和哨兵机制-爱代码爱编程

一、Redis分片机制 1、Redis性能优化 单台Redis内存容量有限,但是如果有海量数据访问, 1.1、Redis分片配置 先关闭redis 准备3个配置文件 更改6380.conf、6381.conf中的端口号 启动3个Redis 配置redis.properties redis.nodes= ip:port,

浏览器缓存---小实验及解析-爱代码爱编程

在做小实验前先要了解一下浏览器缓存的执行原理 浏览器的缓存分为强缓存和协商缓存,当客户端请求某个资源的时候,获取缓存的流程如下 (1)先根据这个资源的http header判断它是否命中强缓存,如果命中,则直接从本地缓存中获取资源,不会则向服务器请求 资源。 (2)当强缓存没有命中时,客户端会发送请求到服务器,服务器通过另一些request header

Redis的持久化和内存策略-爱代码爱编程

一、Redis的持久化 1、RDB模式 Redis默认的持久化策略,无需手动开启 特点: Redis会定期的执行RDB持久化操作,,但可能会导致内存数据丢失 RDB模式记录的是内存数据的快照,并且后续的快照会覆盖之前的快照,每次只保留最新数据,效率更高 命令: save命令 要求立即执行持久化操作, save会造成线程的阻塞 bgsave 后台