通过Spring AMQP使用Rabbit MQ

MQ 

RabbitMQRabbitMQ的结构和概念channel:操作MQ的工具exchange:交换机,负责路由消息至消息队列queue:消息缓存VirtualHost:虚拟主机,是queue、exchange等资源的逻辑分组。通常情况下, 每个用户应该有自己的虚拟主机。虚拟主机之间是相互隔离的,其内的

什么是MQ

MQ 

同步调用的问题耦合度高性能差,调用者需要等待调用链的响应,若调用链过长会造成性能下降资源浪费,每个服务在等待响应的过程中不能释放请求占用的资源级联失败,如果服务提供者出现问题,可能会导致整个调用链甚至整个微服务集群故障异步调用方案异步调用的常用实现是事件驱动模式优点:服务解耦,若有新服务出现。仅需订

Docker

Docker 

Docker官方文档项目部署的问题大型项目组件多、依赖多,运行环境复杂开发、测试、生产环境有差异解决:将应用的Libs函数库、Deps(依赖库)、配置与应用一起打包,形成可移植镜像使用沙箱机制将每个应用放到单独的隔离容器中运行,避免相互干扰解决跨系统部署的问题:将用户与所需要调用的系统函数库一起打包

基于Redis生成全局唯一ID

Redis 

import org.springframework.data.redis.core.StringRedisTemplate;import javax.annotation.Resource;import java.time.LocalDateTime;import java.time.ZoneOf

Redis缓存更新策略

Redis 

​内存淘汰超时剔除主动更新说明不用自己维护,利用Redis内存淘汰机制,当内存不足时自动淘汰部分数据,下次查询时更新缓存。给缓存添加TTL时间,到期后自动删除缓存。下次查询时更新。编写业务逻辑,在修改数据库的同时更新缓存。一致性差一般好维护成本无低高三种主动更新策略Cache Aside Patte

Java Stream流


什么是流在Java 8中,得益于Lambda所带来的函数式编程, 引入了一个全新的Stream流概念。流是用于简化集合和数组操作的API,可以类比为将数据转化为流水线上的产品,通过各种中间和终结方法对数据进行操作。目的:用于简化集合和数组操作的APIStream流式思想的核心先得到集合或者数组的St

SpringBoot上传文件


上传文件并存储至resource/images目录下package com.sdut.controller;import com.sdut.utils.ResV;import org.springframework.boot.system.ApplicationHome;import org.spr

Java方法引用


方法引用/*需求: 1.定义一个接口(Printable):里面定义一个抽象方法:void printString(String s); 2.定义一个测试类(PrintableDemo),在测试类中提供两个方法 一个方法是:userPrintable(Printable p

Redis(一) 概念和应用场景

Redis 

Redis 概念和应用场景Redis 是一种支持 key-value 等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。什么是 RedisRedis 是一款内存高速缓存数据库。Redis 全称为:Rem

SpringBoot读取Excel(POI)

工具 

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.2</version></