自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ高级特性1

Producer -> Broker:发送方确认Producer -> Exchange :Confirm模式(网络问题)Exchange -> Queue : return模式(代码或者配置层错误,导致消息路由失败)队列移除:死信等Broker:持久化(RabbitMQ服务器宕机导致消息丢失)交换机持久化队列持久化消息持久化Broker -> Consumer 消息确认方式(消费者未来得及消费信息,就宕机了)自动确认手动确认。

2025-04-03 21:04:38 709

原创 RabbitMQ应用2

【代码】RabbitMQ应用2。

2025-04-02 21:44:12 394

原创 RabbitMQ应用1

路由模式的升级版,在RoutingKey的基础上,增加了通配符的功能,使之更加灵活,Topics和Routing的基本原理相同,即生产者将消息发给交换机,交换机根据RoutingKey将消息转发给与RoutingKey匹配的队列,类似于正则表达式的方式来定义RoutingKey的模式。路由模式是发布订阅模式的变种,在发布订阅的基础上,增加路由key,发布订阅模式是无条件的将所有消息分发给所有消费者,路由模式是Exchange根据RoutingKey的规则,将数据筛选后发给对应的消息队列。

2025-04-02 13:04:32 694

原创 RabbitMQ快速上手

全称:Advanced Message Queuing Protocol(高级消息队列协议)定位:开放标准的应用层协议,专为可靠、异步、跨平台的消息通信设计,支持企业级消息中间件功能。起源:2003年由金融行业(JPMorgan Chase等)发起,旨在解决异构系统间消息传递的兼容性问题。后由OASIS组织标准化,最新版本为AMQP 1.0(ISO/IEC 19464)。

2025-03-31 22:32:28 727

原创 RabbitMQ简单介绍和安装

RabbitMQ 是一款开源的 消息中间件(Message Broker),遵循 AMQP(Advanced Message Queuing Protocol) 协议标准,专为分布式系统提供高效、可靠的消息通信机制。它通过解耦生产者和消费者、异步处理、流量削峰等能力,成为构建复杂企业级应用的核心组件之一。同步通信:直接调用对方的服务,数据从一端发出后立即就可以达到另一端。异步通信:数据从一端发出后,先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端(容器的一个具体实现就是MQ)

2025-03-31 12:37:58 903

原创 Redis的Java客户端

把写好的Java代码打包成jar包,然后把jar包上传到Linux服务器上执行,这种方法手动太麻烦了,虽然也有插件,但是不太安全。由于redis的端口号6379默认被云服务器防火墙给进行保护起来了,如果手动关闭防火墙很容易被黑客入侵,所以不能够关闭防火墙。

2025-03-30 16:56:20 963

原创 Redis的补充和RESP

需要注意的是,cursor不是一个连续递增的整数的下标,只能理解为仅仅是一个字符串,无法知道其中的规律,只有redis的服务器知道这个光标对应元素的位置。这里的渐进式遍历在遍历过程中,不会在服务器这边存储任何的状态信息,此处的遍历是随时可以终止的,不会对服务器有任何的副作用。scan是有可能返回空集合的,当下一次的光标起始位置为0的时候,就已经将key遍历结束了。返回值的前半部分,提示用户下次遍历光标起始位置,后面的数据就是真正遍历到的key的内容。如果光标设置为0,意味着这次遍历从头开始获取。

2025-03-30 09:19:11 988

原创 Redis的ZSet有序集合

zset是一个有序的集合,所谓的有序就代表一个集合[1,2,3]和集合[1,3,2]不是等价的。排序的规则是给zset的member中引入了一个属性,这个属性就是分数。分数是一个浮点类型的数据,每个member都会安排一个分数,进行排序的时候,就是依照此处的分数大小进行升序/降序操作。需要注意的是,member是唯一的,但是score(分数)可以不是唯一的。

2025-03-29 16:46:32 816

原创 Redis的Set集合

当我们进入大学之后,我们在QQ上肯定会加自己班级上的人,但是你加的同学,他可能是社团的人,他就可能加了社团里面的人(这些人和你不是一个班级也不是一个专业),此时QQ就会把你同学他在社团里面加的人推送给你。上述还会从搜索的历史记录等其他方面来进行分析一个用户的特征,这样就能够收集完用户的特征,这些特征也就转换成了用户的标签,并且把这些标签存在redis的set集合中。每个用户访问服务器都会产生一个uv,但是相同的用户多次访问,不会使UV增加,此时就会需要进行去重操作,就可以使用set来实现。

2025-03-28 16:59:09 649

原创 Redis的List类型

列表的List相当于数组或者顺序表。

2025-03-28 15:37:12 1129

原创 Redis的Hash类型

如果使用hash的方式表示UserInfo,就可以使用field表示对象的每个属性(数据表的每个列),此时就可以非常方便的修改/获取任何一个属性的值了。如果使用String(JSON)的格式来表示UserInfo,万一只想获取其中某个field,或者修改某个field就需要把整个JSON都读出来,解析成对象,操作完field后,再重新转成JSON字符串,再写回去。虽然,ziplist付出的代价是进行读写元素时,速度较慢,但是,如果元素个数比较少,慢的就不太明显,除非元素个数太多了,才会比较明显。

2025-03-26 10:50:45 1017

原创 redis的String类型介绍

redis的字符串不会对字符编码做任何处理(redis只认字节),当前使用的Xshell终端默认的字符编码是UTF8,在终端输入汉字之后,也就是按照UTF8进行编码的,一个汉字在UTF8字符集中,通常是3个字节。随着时间的推移,肯定是会有越来越多的key在redis上访问不到,因为数据在不断变多,此时又需要从MySQL读取数据并写入redis中,这样redis中的数据会变的更多,此时redis就无法承受这样的数据量。如果key存在,则让新的value覆盖旧的value,这个过程可能改变原来的数据类型。

2025-03-26 08:36:59 807

原创 Redis通用命令+部分策略模型

如果此时使用IO多路复用的方式:我先去把饭煮了,然后我去热水,最后去炒菜,当热水烧开后,机器会进行提示,我听到提示声音后,就将热水的机器关闭,并把热水拿过来进行炒菜,最后在炒菜过程中电饭煲提示饭热好,我再将电源关闭,再进行炒菜。此时就提升了效率降低了开销。压缩的原因:redis上会存在许多的key,可能某些key的value是hash,此时如果key特别多,对应的hash的value也就多起来了,但是每个hash又不大的情况下,就尽量去压缩,因为压缩之后,就可以让整体占有的内存更小了,节省了空间。

2025-03-25 08:39:30 999

原创 Redis简单介绍和安装

Redis(Remote Dictionary Server)是一个高性能、开源的 内存数据结构存储系统,支持多种数据结构(如字符串、哈希、列表、集合、有序集合等),常被用作数据库、缓存、消息中间件和实时数据处理工具。在Ubuntu 上进行安装Redis,因为Redis只能支持在Linux上进行安装。红色方框的是为了找到配redis的配置文件的命令,蓝色方框则是redis的配置文件。需要注意的是,输入找到配置文件的命令时,cd后面要有一个空格。如果没有异常则什么都不会出现。

2025-03-23 22:22:02 392

原创 分治算法区

分治简单算法

2025-03-13 19:46:58 993

原创 JVM介绍

JVM简单介绍

2025-03-11 14:36:24 729

原创 HTTP和HTTPS

HTTP和HTTPS

2025-03-10 16:24:42 822

原创 网络编程介绍

TCP和UDP的回显服务器的简单编程,DatagramSocket Socket ServerSocket DatagramPacket

2025-03-07 09:27:15 436

原创 多线程进阶

锁策略,synchronized原理,CAS讲解,JUC常见类,线程安全的集合类

2025-03-04 18:16:12 621

原创 记忆化搜索

简单地说,记忆化搜索就是在递归中的重复计算的结果进行整合,减少了重复计算的时间和空间,加快了递归的执行效率。对于递归来说,记忆化搜索只是一个优化工具。后续还是要加强对解题进行刻板的编写,要灵活通过思路进行对代码的适当修改而不是别人说这样就这样,要有自己的想法。

2025-03-03 14:42:36 663

原创 线程安全和锁

线程安全和锁的介绍,单例模式,阻塞队列,线程池,定时器,死锁问题

2025-03-02 10:42:53 613

原创 定时器介绍

定时器

2025-03-02 10:41:26 320

原创 多线程初阶

多线程初阶

2025-02-20 12:50:16 1004

原创 Map和Set

Map和Set

2025-02-16 18:43:24 698

原创 LinkedList

LinkedList

2025-02-16 18:28:50 419

原创 ArrayList

ArrayList

2025-02-16 18:22:20 1032

原创 MySQL事务的简单介绍

事务

2025-02-15 18:31:45 563

原创 MySQL索引

索引和B+树

2025-02-15 12:25:29 977

原创 MySQL稍微进阶

MySQL

2025-02-15 09:24:48 1045

原创 栈的简单介绍

2025-02-12 23:36:09 772

原创 优先级队列(堆)

2025-02-12 23:13:26 632

原创 MySQL基础

CURD

2025-02-10 22:18:16 845 1

原创 时间和空间复杂度

时间和空间复杂度

2025-02-08 15:57:08 292

原创 常见的排序

常见的算法

2025-02-08 15:51:02 1070

原创 链表OJ题

链表OJ题

2025-02-08 15:26:59 381

原创 Spring原理

Spring自动配置

2025-02-07 20:14:51 578

原创 Linux的简单使用和部署

部署

2025-02-04 15:49:16 812

原创 链表的简单介绍

java链表

2025-01-31 23:04:17 273

原创 反射、枚举以及lambda表达式

1.概念:Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。2.反射的相关的类:3.class类代表类的实体,在运行的Java应用程序中表示类和接口。

2025-01-31 23:00:05 944

原创 二叉树介绍

二叉树

2025-01-29 22:07:37 1194

空空如也

空空如也

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

TA关注的人

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