自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 保姆级教程之Redis缓存穿透 缓存击穿 缓存雪崩 缓存预热 双写不一致

缓存引发的问题缓存穿透缓存穿透:指访问不存在的key,依然被大量用户访问指大量请求访问缓存中不存在的值,从而大量请求打进DB中,导致DB故障。缓存击穿缓存击穿:一个缓存key失效后,依然被大量用户访问指热点数据缓存过期的一瞬间,大量请求打进DB中,导致DB故障。缓存雪崩缓存雪崩:多个缓存key失效,依然被大量用户访问指大面积的缓存集体失效,导致用户要向数据库发送请求,而引发的故障。解决方案接口层增加校验,如用户鉴权校验(参数校验)从缓存区不到的数据,数据库也取不到的数据可以设置为

2021-10-09 22:07:06 100

原创 Redis 事务是如何执行

前言学习过Mysql的hxd一定不会对事务感到陌生,一提起事务就会想到ACID,和事务隔离性从而扯出脏读、幻读、不可重复读以及mvcc等一系列问题,可谓是面试重灾区。本片介绍Reids中事务是如何执行的。Redis事务redis的事务执行过程:开始事务指令入队执行事务开启事务之后,事务中涉及的指令会存入一个队列中,不会立刻执行,等redis接收到执行事务的命令(EXEC)之后看,才会队列中的全部命令事务相关指令MULTI : 开启事务,redis会将后续的命令逐个放入队列中,然后

2021-10-09 17:12:05 306

原创 Redis高可用集群方案 主从模式 哨兵模式 Cluster集群

前言我们都知道Redis是基于内存级别的操作,他的速度非常快,但是这样也带来了弊端。就是当Redis宕机了之后会给业务带来很大的影响,即使有RBD或AOF的持久化机制,也并不能满足我们的要求。因此有了高可用集群方案。高可用集群的优劣???? 优点:读写分离负载均衡s提高吞吐量增强系统健壮性???? 缺点:需要花钱买机器维护成本高,业务复杂主从模式主从模式是redis中最简单的集群结构,cluster集群中也会出现主从的影子主从模式从以前的单机结构,扩展成了多个从节点,1个

2021-10-08 21:51:32 176

原创 Redis持久化机制RDB&AOF

为什么需要持久化我们都知道redis之所以快,原因之一是因为他操作是在内存之上的。但是我们也知道内存快是快,但是无法保证数据的安全性,一旦发生故障,带来的可能是毁灭性的损失Redis提供了两种持久化的机制,一种是RDB,另外一种是AOFRDB持久化机制RBD持久化机制是基于快照(Snapshot),redis每隔一段时间(用户可以设置)产生一个快照文件(*.dump)进行持久化存储。redis可以通过Save命令或Bgsave来触发RDB持久化存储。Save在生成快照的期间,会阻塞服务器,在

2021-10-08 21:47:26 106

原创 Redis&Redisson 关于分布式锁中看门狗机制 源码理解 超卖问题

超卖问题不管是业务中,还是面试上都是比较热门和头疼的问题,本篇文章记录一下笔者学习redis个人笔记。场景重现我们都知道jvm级别的锁(synchronized)是无法在分布式微服务下解决超卖问题。这种级别的锁只能锁住当前进程,对于其他微服务是无法奏效。使用redis实现分布式锁 //标识当前客户端上的锁 String clienId = UUID.randomUUID().toString(); String lockKey = "lockKey"; //上锁 并

2021-10-08 21:44:12 460

原创 力扣Leetcode 1.两数之和

两数之和作为力扣的第一题,之前也看到某站上有面试官会问到这题,这题是比较经典了题意:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例

2021-09-04 21:06:26 55

原创 [已解决]Windows10利用Docker同时安装Mysql8.x版本和5.x版本

众所周知Mysql8.x版本和Mysql5.x版本有冲突接下来教大家利用docker在本机上或者服务器上安装2个版本的MysqlDocker-compose.ymlversion: '3.8'services: mysql: container_name: mysql57 image: mysql:5.7.31 restart: always ports: #这里使用3307 因为本机已经安装了mysql8。X - "3307:3306"

2021-07-04 16:52:29 287

原创 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jd

解决在学习mybatis时,遇到的坑。报错代码:org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.### The error may exis

2021-04-27 22:53:10 863

原创 SprinfBoot报警告WARNING: An illegal reflective access operation has occurred

报错代码:WARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by org.apache.ibatis.reflection.Reflector (file:/C:/Users/Administrator/.m2/repository/org/mybatis/mybatis/3.4.6/mybatis-3.4.6.jar) to method java.lang.Cl

2021-04-27 22:18:36 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除