![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 79
咸鱼_翻身
每天进步一点点!
展开
-
Redis之----缓存穿透、缓存击穿、缓存雪崩
文章目录简介缓存穿透缓存击穿缓存雪崩简介对于Redis缓存来说,使用Redis的缓存,它提升了应用程序的性能和效率,并且缓存在高并发场景中起到了非常重要的作用,如果针对数据的一致性来说,Redis的缓存就是一个非常致命的问题,这种问题有三个。1、缓存穿透2、缓存击穿3、缓存雪崩那么我们分别对这三种情况进行讲解,并且给出解决方案:缓存穿透在默认情况下,用户请求数据时,会先在缓存(Redis)中查找,若没找到即缓存未命中,再在数据库中进行查找,数量少可能问题不大,可是一旦大量的请求数据(例如秒杀原创 2022-02-15 13:59:01 · 762 阅读 · 1 评论 -
Redis之----哨兵模式
文章目录简介哨兵模式作用哨兵模式原理配置哨兵模式测试哨兵模式哨兵模式的优缺点哨兵模式的全部配置简介从原本的主从复制来说,如果主机宕掉了,需要手动设置一台从机为一个新的主机,但是这种手动的配置需要人工干预,耗费时间和人力,并且在人工干预的时间内还会造成服务不可用的情况,对于开发者来说这不是一种好的解决方案。Redis从2.8开始出现了哨兵模式。哨兵模式可以在后台监视主机是否故障,如果发生了故障就会以投票的方式在从机中选出一个作为主机。哨兵模式作用1、通过发送命令,让Redis服务器返回监控其运行状原创 2022-02-15 11:38:26 · 1355 阅读 · 0 评论 -
Redis之----理解主从复制机制
文章目录简介主从复制的作用为什么使用集群集群环境搭建一主二从使用规则复制原理链路模型简介Redis的主从复制,实际上就是将一台Redis服务器的数据,复制到其他Redis的服务器。前者被称为服务器的主节点(master/leader),后者就是从节点(slave/follower),数据的复制只能由主节点到从节点,Master以写主,slave以读为主。实际上每台服务器都是一个主节点,一个主节点可以有零个或多个从节点,并且每一个从节点只能有一个主节点。主从复制,读写分离,在大部分情况下,很多人浏览网页更原创 2022-02-15 01:45:23 · 572 阅读 · 0 评论 -
Redis之----如何理解发布订阅
文章目录简介订阅命令订阅示例订阅原理发布订阅的实现场景简介Redis的发布订阅(publish/subscribe)是一种消息通信模式,发送者(publish)发送消息,订阅者(subscribe)接收消,Redis客户端可以订阅任意数量的频道。订阅/发布消息图:下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系,当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅原创 2022-02-14 19:58:57 · 885 阅读 · 0 评论 -
Redis之----持久化RDB和持久化AOF
文章目录简介RDM1.什么是RDM简介由于Redis是基于内存的数据库,如果不将内存中数据库状态保存在磁盘中,那么一旦数据服务器进程退出,服务器中的数据库状态就会消失,所以Redis提供了持久化功能,将数据由内存持久化到文件中。有两种持久化方式:RDBAOF下面就会介绍这两种持久化方式RDM1.什么是RDMRDB,全称Redis DataBase,在指定的时间间隔内将数据集快照写入到磁盘中,在恢复数据的时候将这些快照文件读取到内存中,对应的配置文件中的SNAPSHOTTING。Redi原创 2022-02-13 23:08:47 · 1203 阅读 · 1 评论 -
Redis之----详细分析Redis.conf配置文件
文章目录简介1.units(单位)2.include(包含)3.network(网络)4.general(通用配置)5.snapshotting(快照)6.replication(复制)7.secrulity(安全)8.client(客户端)9.append only mode(aof配置)简介Redis在启动的时候是通过配置文件Redis.conf进行启动的,那么我们了解Redis.conf文件对我们之后对于Redis的操作就非常有帮助,下面我们就来看看这个配置文件都有一些什么东西。首先我们进入这个原创 2022-02-10 22:48:43 · 854 阅读 · 0 评论 -
SpringBoot之----整合Redis
文章目录简介1.源码分析2.导入依赖3.配置连接4.测试连接简介这篇文章我们简单了解SpringBoot如何整合Redis,介绍关于如何连接上Redis,进行简单测试:首先我们应该注意:从SpringBoot2.x之后,原先使用的Jedis被lettuce替代Jedis:采用直连,模拟多个线程操作会出现安全问题。为避免此问题,需要使用Jedis Pool连接池!类似于BIO模式lettuce:采用netty网络框架,对象可以在多个线程中被共享,完美避免线程安全问题,减少线程数据,类似于NIO模式原创 2022-02-09 22:18:09 · 622 阅读 · 0 评论 -
Redis之----如何使用Jedis
文章目录简介1.导入依赖2.连接数据库3.测试常用API4.测试事务简介使用Java来操作Redis,Jedis是Redis官方推荐使用的Java连接redis的客户端,这篇文章带你简单了解如何使用Jedis。1.导入依赖这里我们导入两个包一个是jedis、还有一个就是阿里巴巴的fastjson。 <dependencies> <!--导入jedis的包--> <dependency> <gro原创 2022-02-09 18:46:39 · 1385 阅读 · 0 评论 -
MyBatisPlus之----快速入门
这是一篇介绍MybatisPlus的博客,将会以代码的形式带你了解MybatisPlus,里面有很多干货,也是我自己调试过的,代码可用,带你快速了解我们的MybatisPlus并且掌握他的使用。原创 2022-01-21 21:44:55 · 1106 阅读 · 0 评论 -
整合spingBoot + dubbo + zookeeper实现分布式开发应用
环境搭建项目结构图:1.我们首先做好服务端pom.xml <dependencies> <!--导入依赖:Dubbo + zookeeper--> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifact原创 2022-01-20 15:15:49 · 2698 阅读 · 0 评论 -
SpringBoot之----安装和使用Zokeeper及Dubbo
1.Dubbo基本概念服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者监控中心(Monitor):服务消费者和提原创 2022-01-20 01:17:25 · 253 阅读 · 0 评论 -
SpringBoot之----集成Redis
简介在SpringBoot2.x之后,原来使用的jedis被替换为了lettucejedis:底层采用直连,多线程操作不安全,如果想要避免不安全,使用jedis pool连接池 更像Bio模式lettuce:底层采用netty,实例可以在多个线程中共享,不存在线程不安全的情况,可以减少线程数量,更像Nio模式1.源码分析找到RedisAutoConfigurationspringboot 所有的配置类都有一个自动配置类 RedisAutoConfiguration自动配置类都会绑定一个 p原创 2022-01-19 14:37:33 · 932 阅读 · 0 评论 -
SpringBoot之----异步任务、邮件发送、定时任务的实现
1.异步任务:项目结构:Springboot09TestApplication.javapackage com.wlm;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableAsync;@Enabl原创 2022-01-18 23:12:33 · 272 阅读 · 0 评论 -
SpringBoot之----快速了解Swagger集成
Swagger 简介:Swagger 是一套围绕 Open API 规范构建的开源工具,可以帮助设 计,构建,记录和使用 REST API。Swagger 工具包括的组件:Swagger Editor :基于浏览器编辑器,可以在里面编写 Open API规范。类似 Markdown 具有实时预览描述文件的功能。Swagger UI:将 Open API 规范呈现为交互式 API 文档。用可视化UI 展示描述文件。Swagger Codegen:将 OpenAPI 规范生成为服务器存根和客户端 库。原创 2022-01-18 12:17:34 · 680 阅读 · 0 评论 -
SpringBoot之----了解Shiro安全框架整合Mybatis和thymeleaf,实现授权登陆认证
这里我做一个流程图帮助大家理解Shiro安全框架整合Mybatis和thymeleaf,实现授权登陆认证的过程,大家先了解,然后看代码,看完代码再看流程图。1.了解完那我们先看项目结构:项目结构:数据库截图:2.我们再看整个项目的代码:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w原创 2022-01-16 23:30:47 · 2897 阅读 · 2 评论 -
SpringBoot之----整合Shiro环境,实现登陆拦截和用户认证
1.创建springboot项目,创建时选择导入springboot web和thmyeleaf2.编写UserRealm类原创 2022-01-15 22:08:45 · 366 阅读 · 0 评论 -
SpringBoot之----了解Shiro安全框架
1.Shiro简介我们可以理解为跟SpringSecurity框架差不多的框架只不过更加的完美:Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。记住一点,Shiro 不会去维护用户、维护权限;这些需要我们自己去设计 / 提供;然后通过相应的接口注入给 Shiro 即可。可以看到:应用代码直接交互的对象是 Subject,也就是说 Shiro 的对原创 2022-01-11 12:18:44 · 3496 阅读 · 1 评论 -
Java之----如何进行单元测试来测试代码
我们可以看一个例子:1)创建一个工程,叫SuiteUnitTesting,在这个工程中创建4个类,如下图所示:代码清单如下:public abstract class Shape{ public abstract double perimeter();//计算周长,抽象方法 public abstract double area();//计算面积,抽象方法}public class Rectangle extends Shape{ int a;//边长 int原创 2021-12-04 23:40:41 · 1971 阅读 · 0 评论