- 博客(22)
- 收藏
- 关注
原创 RabbitMQ配置集群以及负载均衡HaProxy
RabbitMQ集群的搭建这里以搭建伪集群为例:①开启第一个节点 RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit1 rabbitmq-server start②开启第二个节点RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}]" RABBITMQ_NODENAME=rabbit2 rabbitmq-serve
2021-05-05 23:08:11 340
原创 Redis的使用场景
1,作为缓存 为什么要使用缓存? j减少数据的访问频率,提高数据的访问率 什么样的数据适合放入缓存?热点数据,修改频率比较高的数据,安全系数比较低的缓存的原理:代码实现可以参考springboot整合redis的去中心化集群模式2,作为分布式锁代码实现可以参考3,作为点赞量,排行榜,转发量等 ①什么是计数器,如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览都得给+1,并发量高时如果每次都请求数据库操作无疑是种挑战和压力。Redis提供的in
2021-04-25 17:32:18 146
原创 使用redis作为分布式锁
使用redis解决分布式锁的问题@Servicepublic class BookService { @Autowired private BookMapper bookMapper; @Autowired// private Redisson redisson; private StringRedisTemplate stringRedisTemplate; public String descCount(Integer bookid){
2021-04-25 17:27:12 169
原创 springboot整合redis的去中心化集群模式
springboot整合redis的去中心化集群模式 1)引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependen
2021-04-25 00:36:36 219
原创 Java连接Redis
java连接redis,使用jedis连接 1)导入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0</version> </dependency> 2)使用jedi
2021-04-25 00:03:52 92
原创 Redis的持久化方式
Redis的持久化方式 什么是Redis的持久化 Redis的持久化方式 两者的区别 两者的优缺点 常用配置 什么是Redis持久化 就是把内存中的数据保存到网盘/磁盘中,防止数据的丢失 Redis持久化的方式RDB:快照式的持久化方法,将某一时刻的数据持久化到磁盘中AOF:将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令执行一遍 两者的区别 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作
2021-04-24 23:49:56 112
原创 Redis集群的搭建
Redis集群的搭建 主从模式 哨兵模式 去中心化模式 主从模式①创建一个目录取名为master—slave②把redis.conf文件复制到master-slave中redis7001.conf redis7002.conf redis7003.conf③分别修改这三个配置文件的端口号以及rdb持久化文件的名称,并将aof关闭④启动服务指定的这三个配置文件⑤查看节点状态#连接到客户端redis-cli -h ip地址 -p 端口号#查看状态info repl
2021-04-24 10:42:18 71
原创 关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
关于缓存穿透丶缓存击穿丶缓存雪崩丶热点数据失效问题的解决方案 缓存穿透 缓存击穿 缓存雪崩 热点数据失效 缓存穿透 1)什么是缓存穿透?正常情况下,我们查询数据是存在的。那么请求去查询一条数据库中压根不存在的数据,也就是缓存和数据库都查询不到这条数据,单数请求每次都会打到数据库中,这种查询不到数据的现象被我们称为缓存穿透。 2)缓存穿透带来的问题?会有大量的请求到数据库去查询,可能会导致数据库由于压力过大而宕机3)解
2021-04-23 12:21:34 117
原创 RabbitMQ的安装
RabbitMQ安装 下载Erlang安装包 安装Erlang 下载RabbitMQ安装包 安装RabbitMQ 开启管理界面及配置 修改配置文件 访问web管理页面 下载Erlang安装包 erlang-23.2.6-1.el7.x86_64.rpm 安装Erlang 将安装包上传到/opt/softcd /opt/softr
2021-04-23 10:04:58 125
原创 RabbitMQ高级
RabbitMQ的高级特性:消息可靠性投递Consumer ACK消费端限流TTL使用配置类创建队列,交换机以及绑定两者死信队列延迟队列消息的幂等性1,消息可靠性投递RabbitMQ提供了两种模式帮助我们解决消息可靠性投递:①Confirm消息确认模式机制:消息确认模式,是指生产者发送消息给broker,然后broker会给生产者一个响应,生产者接受应答,用来确定该消息是否正常发送到broker,这种模式也是可靠性投递的核心保障。Confirm模式确认消息的代码实现:1)创建
2021-04-22 09:13:54 228
原创 RabbitMQ的核心组件和五种常用模式
1,简单模式生产者Producer:package com.lp.test;import com.rabbitmq.client.AMQP;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.io.IOException;import java.util.concurrent.Co
2021-04-20 23:18:49 1856 1
原创 消息队列MQ
什么是MQ?MQ,是Message Queue(消息队列)的简称,是在消息的传输过程中保存消息的容器。多用于分布式系统通信之间进行通信。为什么使用MQ(优缺点)?优点:①应用解耦:提高系统的容错率性和可维护性②异步提速:提升用户体验和系统吞吐量③削峰填谷:提高系统的稳定性缺点:①系统的可用性降低②系统引入的外部依赖越多,系统的稳定性越差。③系统的复杂度提高④MQ的加入大大增加了系统的复杂度,以前都是系统间的同步远程调用,现在是通过MQ进行异步调用⑤一致性问题常见的MQ?对
2021-04-19 21:18:15 156
原创 Centos 7配置Mysql
Centos 7安装Mysql详细步骤一丶mysql安装1.1,下载wget命令yum -y install wget1.2,在线下载mysql安装包wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm1.3,安装mysqlrpm -ivh mysql57-community-release-el7-8.noarch.rpm1.4,安装mysql服务首先进入cd /etc/yum.repos
2021-04-12 23:39:38 103
原创 非关系型数据库Redis
一丶什么是NOSQL?NOSQL,"not only sql",不仅仅是sql,是对区别于关系型数据库的非关系型数据库的一种统称.二丶NOSQL和RDBMS的区别?RDBMS: ①高度组织化结构化数据 ②结构化查询语言 ③数据和关系都存储在单独的表中 ④数据的操作语言,数据的定义语言 ⑤严格的一致性,事务 ⑥基于事务NOSQL: ①代表着不仅仅是sql ②没有声明性查询语言 ③键---值对存储 ④最终一致性,而非ACDI属性 ⑤非结构和不可预知的数据
2021-04-12 22:42:42 125
原创 SpringBoot整合shiro安全框架
SpringBoot整合Shiro安全框架①引入依赖<groupId>com.lp</groupId> <artifactId>springboot-shiro</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-shiro</name> <description>Demo project
2021-04-07 22:49:14 134
原创 单例模式:
单例模式: 饿汉模式创建单例: 所谓的”饿汉模式“,就是在类加载时就完成了初始化,所以类加载的速度较慢,但是获取对象的速度快 缺点:因为类在加载时就完成了实例化,所以不确定该实例有没有被使用,这样的话内存就浪费啦实现代码:public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { } ; pu
2021-04-05 17:18:37 195 2
原创 设计模式
设计模式什么叫设计模式?设计模式就是一套被反复使用的,多数人知晓的,经过分类的代码设计经验的总结,是可复用面向对象软件的基础。为什么要使用设计模式?可以增强代码的重用性,让代码更容易被他人理解,保证代码的可靠性。设计模式的分类:一丶创建型模式工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式二丶结构型模式适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式三丶行为模式策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式。命令模式,备忘录模式,状态模式,
2021-04-05 17:16:08 89
原创 SSM整合
SSM整合一丶引入相关依赖<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.9.RELEASE</version> </dependency> &
2021-03-25 22:08:09 105
原创 集合框架:
集合框架:所有的集合都是直接或者间接实现了Collection接口或Map接口Collection接口下的集合继承体系:List接口继承于Collection接口,同时也有实现类实现了这个接口,分别是:①ArrayList:底层是对象数组集合,是定容的,可以扩容。同时也是有序的,查询数据速度快,但是插入数据速度慢,是线程不安全的,但是效率快,适用于多线程;jdk1.5以后,可以使用Collections类中的synchronizedList方法,让ArrayList变成线程安全的集合;②Vec
2021-03-22 19:51:57 84
原创 面向对象的特征:
面向对象的特征体现在哪些方面:1,封装封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,外界可以通过get/set方法进行访问。封装的目的:①从广义上来讲,就是对于一些公共代码的抽取,生成一个工具类,我们需要使用这个方法时,就不需要再重新写一遍这个代码啦,直接调用工具类就可以啦。例如:JDBC工具类,文件上传工具类等②从狭义上来讲,就是属性私有化,使用private关键字修饰属性;生成get/set方法,方便外界对于属性和方法的调用减少了代码的耦合性。2,继承(extends关键字)
2021-03-22 11:28:25 108
原创 MyBatis的优化
MyBatis的优化一丶对于数据源的优化1.可以将数据源中的信息提取到properties文件中例如:在mybatisConfig.xml中的数据源信息(提取前):<environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource t
2021-03-20 23:28:52 252
原创 MyBatis
一丶MyBatis介绍MyBatis是支持普通Sql查询,存储过程和高级映射的优秀的持久层框架。它消除了几乎所有的JDBC代码和参数的手工设置以及对于结果集的检索封装。MyBatis可以使用简单的XML映射文件或注解用于配置和原始映射,将接口和Java的POJO映射成数据库中的记录。并且MyBatis是一个半自动框架,需要写sql语句。二丶关于MyBatis的搭建①创建一个Maven工程②在pom.xml文件中引入依赖<dependencies> //关于MySQL驱动的
2021-03-19 21:41:57 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人