自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 正向代理与反向代理

正向代理和反向代理都可以实现数据传输和代理的功能,但它们的位置、作用和用途有所不同。正向代理主要位于客户端和服务器之间,用于缓存和代理;而反向代理主要位于客户端和应用服务器之间,用于隐藏真实服务器信息、增强安全性并提高网站性能。

2023-08-14 20:35:23 654

原创 Redisson的看门狗策略——保障Redis数据安全与稳定的机制

看门狗策略是一种自动检测并处理过期键的机制。它基于Redis的“WATCH”命令实现,通过在Redisson库中创建一个监视器(Watch Dog)来监控Redis服务器上的指定键。当应用程序使用Redisson库监视一个键时,Watch Dog会向Redis服务器发送一个“WATCH”命令,并在服务器上对该键进行监视。如果另一个客户端尝试修改被监视的键,Redis服务器将返回一个错误。这个错误会被Watch Dog捕获并处理。

2023-08-10 20:16:58 3012 2

原创 死锁的四个必要条件及如何防止死锁

死锁是操作系统中的一个重要问题,它是指两个或更多的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,如果没有外力干涉,它们都无法继续执行下去。死锁不仅会严重影响系统的正常运行,还会导致系统的崩溃和数据损坏。

2023-08-09 20:11:26 606

原创 redis中哨兵机制解决方案

Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。

2023-08-08 21:23:33 240

转载 Redis缓存的淘汰机制

假设生产环境中MySQL 数据库有 1000万条数据,但是Redis缓存中只存能10万条的数据,我们怎么才能保证 Redis 中的数据都是热点数据?在这里我们需要Redis缓存淘汰机制,保证Redis中的数据都是热点数据,Redis缓存也不会因为大量的key撑爆内存。

2023-07-22 17:29:33 223

原创 Redis缓存的雪崩、击穿、穿透问题

缓存雪崩是指当缓存中有大量的key在同一时刻过期,或者Redis直接宕机了,导致大量的查询请求全部到达数据库,造成数据库查询压力骤增,甚至直接挂掉。缓存击穿是指当缓存中某个热点数据过期了,大量的数据请求击穿了某个key,在该热点数据重新载入缓存之前,有大量的查询请求穿过缓存,直接查询数据库。这种情况会导致数据库压力瞬间骤增,造成大量请求阻塞,甚至直接挂掉。缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。

2023-07-20 21:20:44 72

原创 Java的类加载机制

类加载器是在加载阶段,通过类的全限定名,获取该类字节流数据。负责加载\lib 目录,或者被 -Xbootclasspath 参数制定的路径,例如 jre/lib/rt.jar 里所有的class文件。由C++实现,不是ClassLoader子类。负责加载Java平台中扩展功能的一些jar包,包括\lib\ext 目录中 或 java.ext.dirs 指定目录下的jar包。由Java代码实现。

2023-07-19 21:29:29 128

转载 CAP理论

​ CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),不能同时成立。

2023-07-17 20:56:47 73

原创 Redis的主从搭建-基于docker

昨天搭建好了redis的docker容器也就是redis_6379,今天以redis_6379作为master(主),配置他的slave(从)redis_6380.

2023-07-13 21:44:16 79

原创 Redis的docker搭建过程

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。输入命令:2.在docker中拉取redis输入命令:docker search redis输入命令:docker pull redis下载最新版本的re

2023-07-12 22:00:07 639

原创 Java设计模式--单例模式(三种实现方式)

单例模式是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式。简单来说保证在内存中有给定数量的对象,例如内存中产生唯一一个对象,不管创建多少次,也只有唯一的对象。

2023-07-11 21:27:54 1500

原创 前端项目工程化的开发过程--基于VS code

最早的前端开发就是实现页面,顶多再写写JS让页面可以有交互的特效。但是随着需求的增加,我们不仅要做Web应用,还要做App、小程序以及各种端。在这种需求日增的情况下,必须得考虑一种新的方式,优化前端的开发工作,例如,解决代码冗余,项目可维护性,提升版本迭代速度等等一系列的问题。前端工程化的概念也就是在这中情况下被提出了。

2023-07-10 21:54:37 161

原创 Spring Boot中的缓存注解@Cacheable,@CachePut,@CacheEvict 的作用及用法。

在 Spring Boot 中,缓存是非常重要的。通过使用缓存注解,可以方便地实现缓存功能,提高程序的性能。在代码中,我们可以通过使用 @Cacheable、@CachePut、@CacheEvict 注解来开启缓存功能,也可以通过配置文件来配置缓存属性。

2023-07-08 16:06:36 1045

转载 数据库mysql的优化方案

通常为了方便拼装查询条件,我们会默认使用该条件,数据库引擎会放弃索引进行全表扫描。1.所有的数据都储存在数据库当中,数据库的数据非常庞大,对数据库中的数据进行CRUD时的速度影响系统的相应速度.7、尽量避免在where条件中等号的左侧进行表达式、函数操作,会导致数据库引擎放弃索引进行全表扫描。6、尽量避免进行null值的判断,会导致数据库引擎放弃索引进行全表扫描。5、尽量避免在字段开头模糊查询,会导致数据库引擎放弃索引进行全表扫描。优化方式:使用具体的字段代替*,只返回使用到的字段。

2023-07-06 21:43:35 57

原创 SpringBoot整合MyBatis-Plus搭建项目

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 Getting Startedhttps://docs.spring.io/spring-boot/docs/2.7.14-SNAPSHOT/reference/html/getting-started.html#getting-started.introducing-spring-boo

2023-07-05 21:47:22 1077

原创 MySQL的主从模式搭建--基于docker

1.在虚拟机中装好centOS 72.在centOS 7 中搭建好docker环境3.在docker中通过拉取镜像安装好mysql4.通过虚拟机的ip地址,连接navicat,测试mysql是否连接成功。

2023-07-04 21:58:10 166 1

空空如也

空空如也

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

TA关注的人

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