![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
中间件
文章平均质量分 75
daydreamed
壁立千仞,无欲则刚
展开
-
RocketMQ 初步了解
RocketMQ 初步了解1、基本组成2、功能特性2.1、消息发送重试和流控机制2.1.1、消息重发2.1.2、流控机制2.2、消息过滤2.3、负载均衡 2.4、消费进度管理2.5、消息存储和清理机制原创 2023-02-17 18:15:00 · 693 阅读 · 0 评论 -
如何设计一张数据库表
如何设计一张数据库表,或者说设计一张数据库表需要注意些什么,这是我最近在思考的问题,刚开始,我简单的罗列了一下注意事项:1. 设置合理的主键;2. 根据字段更改的频率程度考虑是否设置索引;3. 根据该张数据库表是否与其它的数据库表有联系,考虑添加外键。 一时间,我发现我只能想到这些:主键、索引、外键,竟觉得有些空洞,于是我便开始查阅资料...原创 2022-12-03 20:08:34 · 7918 阅读 · 1 评论 -
简单聊聊 倒排索引
倒排索引(Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下 某个单词 在一个文档或者一组文档中的存储位置的 映射,它是文档检索系统中最常用的数据结构。 通过倒排索引,可以根据单词快速获取包含这个单词的文档列表,倒排索引主要由两个部分组成:“单词词典” 和 “倒排文件”。原创 2022-12-02 11:21:18 · 489 阅读 · 0 评论 -
Redis —— 一次错误记录
今天在使用 Redis 存储数据时,发现数据每隔一段时间就会消失,刚开始以为是数据过期时间的问题,使用 QuickRedis 连上 Redis 后,发现数据的过期时间也没有问题,但却发现 数据库0 莫名其妙多出几个 key(backup1、backup2、backup3、backup4),接着我去查看了 Redis 的运行日志,发现 Redis 一直报这个错。,在网上搜索了一番之后,最终确定 Redis 可能遭受了 RDB 方式的入侵攻击。原创 2022-11-27 21:07:06 · 1824 阅读 · 0 评论 -
记录 SQL 语法(MySQL)
记录 SQL 语法(MySQL)1、建库建表2、增删改查原创 2022-11-07 16:12:10 · 243 阅读 · 0 评论 -
聊聊 RabbitMQ 消息可靠性的保证
消息可能会出现的不可靠问题:- 消息丢失- 消息重复- 消息积压产生的原因及相应的解决方案1、消息丢失2、消息重复消费3、消息积压原创 2022-10-13 19:09:33 · 1036 阅读 · 0 评论 -
初识 RabbitMQ
1、概述 RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。2、架构3、SpringBoot 整合原创 2022-10-01 20:03:18 · 954 阅读 · 0 评论 -
简单聊聊 MyBatis
1、MyBatis 是一款 持久层框架,用于将 结果集数据 持久化(保存)到 数据库 中。常见的持久层框架有:- MyBatis- JPA(默认实现为 Hibernate)2、MyBatis # 和 $ 的区别3、MyBatis 缓存机制3.1、一级缓存(又称 本地缓存,默认启动 且 不能关闭)3.2、3.2、二级缓存(又称 全局缓存,需要进行手动配置)原创 2022-09-05 22:42:29 · 291 阅读 · 0 评论 -
关于 Redis 的这些知识 你知道哪些
Redis Sentinel(哨兵)是一个 分布式架构,它包含 若干 哨兵节点 和 数据节点,每个哨兵节点 会对 数据节点 和 其余的哨兵节点 进行监控,当发现节点不可达(节点发生宕机)时,会对节点做 下线标识。如果 被标识的 是 主节点,它就会与 其它的哨兵节点 进行协商,当 多数哨兵节点 都认为 主节点 不可达时,它们便会选举出一个 哨兵节点 来完成 自动故障转移 的工作,同时还会将这个变化实时地通知给 应用方(整个过程是自动完成,不需要人工介入)。原创 2022-08-21 20:57:49 · 319 阅读 · 0 评论 -
浅谈 Redis 的底层数据结构
Redis 五大基本类型所使用的底层数据结构:- string(简单动态字符串)- list(双向链表、压缩列表)- hash(压缩列表、字典)-- 当 hash 保存的键值对数量小于 512个,且键和值的字符串长度都小于 64 字节 采用 压缩列表 作为 底层实现,否则 采用 字典 作为底层实现 - set(整数集合)- zset(压缩列表、字典、跳跃表)Redis 没有直接使用 C语言 传统的字符串,而是自己构建了一种名为 简单动态字符串Simple Dynamic String)..原创 2022-08-07 21:07:11 · 1011 阅读 · 0 评论 -
简单聊聊 Kafka
Kafka 是一种 高吞吐量的、分布式的、基于 zookeeper 协调的 发布订阅消息系统,常用于 web/nginx日志、访问日志、消息服务等,Kafka 起初由 LinkedIn 公司开发,后于 2010年 贡献给 Apache 基金会 并成为 顶级开源项目。Kafka 的特性:- 高吞吐量、低延迟:Kafka 每秒可以处理数百万条消息,它的最低延迟只有几毫秒- 持久性:Kafka 可以将 消息 持久化到本地磁盘- 可扩展性:Kafka 集群支持 热扩展- 高并发- 高可用...原创 2022-08-02 16:37:23 · 399 阅读 · 0 评论 -
Redis —— 基础篇
Redis(Remote Dictionary Server,远程字典服务)是一个开源的 使用 ANSI C语言 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 Redis 的主要用途如下:- 缓存:是实现分布式缓存的首选中间件- 数据库:实现诸如点赞、关注、排行等对性能要求极高的互联网需求- 计算工具:统计诸如PV/UV、用户在线天数等数据- 其他的使用场景:可以实现分布式锁,可以作为消息队列使用...原创 2022-07-28 12:05:08 · 3250 阅读 · 0 评论 -
MySQL 实践篇 —— 主从复制
主从复制 就是 把 主服务器(Master)上的 二进制日志文件(binlog,记录了所有修改数据库的操作)复制到 从服务器(Slave)上执行一遍,保证 从服务器 上的数据 和 主服务器 上的数据 保持一致。 工作过程:- 主服务器 把数据更改 记录到 二进制日志文件 中- 从服务器 开启一个 I/O 线程 通过 MySQL 协议 把 主服务器 的 二进制日志文件 复制到自己的 中继日志文件(relay log)中- 从服务器 开启一个 SQL 线程 执行 中继日志文件 中的内容......原创 2022-07-27 18:02:36 · 407 阅读 · 0 评论 -
MySQL 数据恢复 —— 使用 data 目录
当因 电脑重置 或 MySQL 文件损坏 导致 MySQL 无法正常启动 需要重装 MySQL 时,可以使用 原先 MySQL 中的 data 文件夹 或 备份的 data 文件夹 进行 数据的恢复。 注:笔者使用的 MySQL 版本为 8.0.29 。步骤:1、关闭 MySQL 服务2、将备份的 data 文件夹 复制到 mysql 的安装路径下,覆盖现有 data 文件夹3、重新开启 MySQL 服务4、查看数据库(数据已恢复)...原创 2022-07-23 11:29:53 · 3876 阅读 · 3 评论 -
浅谈 MySQL 优化
MySQL 优化 是指通过 一系列的手段 来提高 MySQL 数据库的工作性能。优化手段 —— 性能提升:- 优化 文件系统,提高 磁盘 I\O 的读写速度 —— 提高 MySQL 的读写速度- 优化 操作系统调度策略 —— 提高 MySQL 的负载能力- 优化 表结构、索引、查询语句 —— 提高 MySQL 的 查询响应速度MySQL 查询优化- 添加索引- 连接查询 替换 子查询MySQL 插入优化MySQL 慢查询优化explain 关键字海量数据 优化......原创 2022-07-13 11:20:29 · 537 阅读 · 0 评论 -
关于 MySQL 锁 你知道多少
MySQL 锁 是指 同一时间同一资源只能被一个线程访问。而 锁 正是 数据库系统 区别于 文件系统 的一个关键特性,锁机制 用于管理对共享资源的并发访问。 若一个事务(A)已经获取了 记录(R)的共享锁,而另一个事务(B)也可以同时获取 记录(R)的共享锁,这种情况称之为 锁兼容; 若另一个事务(C)想获取 记录(R)的排他锁,则它必须等待事务(A)、事务(B)释放 记录(R)上的共享锁,这种情况称之为 锁不兼容。......原创 2022-07-11 11:16:11 · 459 阅读 · 0 评论 -
浅谈 消息队列(Message Queue)
1.1、什么是消息队列?消息队列 是指 在 消息 的传输过程中 保存消息 的 容器。1.2、那消息是什么?消息 是指在两台计算机间传送的数据单位,如:字符串、对象 等。1.3、消息队列有什么用?消息队列 主要的作用有 3 个:解耦、异步、削峰2、消息队列的实质: 消息队列 的实质 体现为 生产者-消费者 问题,生产者(模块)生产数据 存放于 容器(消息队列)中,消费者(模块) 从 容器 中取出数据进行 消费。实现 消息队列 的中间件:- RabbitMQ- Kafka- RocketMQ原创 2022-07-06 23:22:46 · 756 阅读 · 0 评论 -
关于 MySQL 事务 你知道多少
MySQL 事务 是指由一条或多条 SQL 语句组成、要么都执行,要么都不执行 的一组操作。通常由 begin 开始,由 commit 或 rollback 结束。事务 遵循 ACID 四个特性。事务 分别有 扁平事务、带有保存点的扁平事务、链事务、嵌套事务、分布式事务 五种类型。实现原子性的关键在于 当事务回滚时能够撤销所有已经成功执行的 SQL语句;实现持久性的关键在于 将数据从 内存 存储到 磁盘 中;实现隔离性的关键在于 在并发环境下,使得事务之间的执行互不干扰。.........原创 2022-07-04 23:43:25 · 553 阅读 · 1 评论 -
一文搞懂 Redis 的 持久化机制
Redis 支持的 持久化机制 有三种:- RDB(Redis DataBase)持久化- AOF(Append Only File)持久化- RDB-AOF 混合持久化RDB:- Redis 默认采用的持久化机制- 以 快照 的形式将进程数据持久化到硬盘中- 会生成一个经过 压缩 的二进制文件(文件后缀为 .rdb)- 文件内部存储了各个数据库的键值对数据AOF:- 目前 Redis 持久化 的主流方式(解决了数据持久化的实时性)- 以 独立日志 的方式,记录了每次写入的命令...原创 2022-07-03 15:23:53 · 1160 阅读 · 0 评论 -
一文搞懂 MySQL 索引
一文搞懂 MySQL 索引1、MySQL 索引 简介2、MYSQL 索引 的分类3、MySQL 索引 的数据结构4、MySQL 索引 的实现4.1、MyISAM 索引4.2、InnoDB 索引5、MySQL 索引 的使用原创 2022-06-30 18:34:01 · 19646 阅读 · 13 评论 -
为什么 Redis 比 MySQL 缓存快?
为什么 Redis 比 MySQL 缓存快?原创 2022-06-20 15:04:31 · 805 阅读 · 0 评论