logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

心灵拷问:MySQL 到底是怎么加行级锁、间隙锁、临键锁的?

Next-Key Lock 是一张间隙锁,相较于行锁只锁定一行,它会锁定一个区间范围,加锁的范围区间内的索引键值会被锁定MySQL InnoDB支持三种行锁定方式InnoDB的默认加锁方式是next-key。如某个加锁操作未使用到索引,则该锁会退化为表锁。行锁 (Record Lock):存在唯一索引中 (包含主键索引),锁定单条索引记录,即key。间隙锁 (Gap Lock):存在非唯一索引中,

文章图片
#mysql#数据库#java
RabbitMQ的角色分类和管理

RabbitMQ角色分类总共分为5种角色,每个角色对应不同的权限信息1. none啥也干不了,也无法登陆到图形化界面不能访问 management plugin2. management普通管理员相当于个人中心,只查看自己的相关节点信息列出自己可以通过AMQP登陆的虚拟机查看自己的虚拟机节点virtual hosts的queues,exchange 和bindings信息查看和关闭自己的chann

#rabbitmq
消息队列的持久化和高可用

消息持久化简单来说就是将数据存入磁盘,而不是存在内存中随服务器重启断开而消失,使数据能够永久保存,重启后数据能够从磁盘中读取恢复● 常见的持久化方式ActiveMQRabbitMQKafkaRocketMQ文件存储支持支持支持支持数据库支持///消息的分发策略MQ消息队列有如下几个角色生产者存储消息消费者☁ 生产者生成消息后,MQ进行存储,消费者

文章图片
#rabbitmq#java
Redis进阶——发布订阅详解

什么是发布订阅?Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 的 subscribe命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。☛ 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 cli

文章图片
#java#开发语言#后端
MySQL索引结构(1):搞懂二叉树(遍历方式)

二叉树的由来在 jdk1.8 之前,HashMap 的数据结构由「数组+链表」组成,数组是 HashMap 的主体,链表是为了解决 Hash 冲突引入的,正常的数据存放是直接存在数组中,但如果发生 Hash 冲突就会以链表的形式进行存储,而在 jdk1.8之后,当链表的长度超过 8 之后,将会转换成红黑树存储。清楚HashMap八股文的小伙伴应该知道,为何随着版本的迭代会引入不同的数据结构呢?数组

#mysql#数据结构#链表
MySQL进阶 (1):explain执行计划和show profile性能分析

前言分析一条查询语句,是否存在可优化的空间,在mysql中,常用2种命令来分析sql语句的执行计划,例如explain、show profiles。两种方式可结合使用。一、explain执行计划MySQL explain执行计划用于分析SQL执行效率,用来辅助SQL优化。下面是一条简单的sql语句,查询所有employees表的记录,利用explain命令,检查该条语句的执行计划参数,如下图,红圈

#sql#数据库#database +1
Redis进阶——哨兵模式 :命令演示详解

前言主从复制模式虽然能够负载均衡,减轻主机压力,但配置过程中需要注意:一旦主机挂载过多的从节点,当主机故障重启后,多个从节点同时发起复制,导致复制风暴全量复制会触发bgsave,主节点首先需要fork子进程将当前数据保存到RDB文件中,然后再将RDB文件通过网络传输到从节点,那么就会产生2个问题:fork的过程主节点是阻塞的如果主节点在fork子进程+保存RDB文件时耗时过多,可能会导致从节点长时

文章图片
#java#数据库#redis +2
Redis五大数据类型——List列表

Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍列表(list)用于存储多个有序的字符串。可以充当栈和队列的角色一般有序会采用数组或者是双向链表,其中双向链表由于有前后指针实际上会很浪费内存。二、操作命令操作类型命令添加rpush、lpush、linsert修改lset删除lpop、rp...

文章图片
#redis#数据库#database +1
Redis进阶——发布订阅详解

什么是发布订阅?Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 的 subscribe命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。☛ 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 cli

文章图片
#java#开发语言#后端
到底了