一江溪水
10
06
Redis-有序集合的数据结构 Redis-有序集合的数据结构
集合概念SetSet类似于Java中的HashSet 。Redis中的set类型是一种无序集合,集合中的元素没有先后顺序,并且不可重复。 当需要存储一个列表数据,又不不能出现重复数据时,Set 是一个很好的选择,并且set提供了判断某个成员
2021-10-06
06
MySQL的执行计划(二) MySQL的执行计划(二)
书接上回:MySQL执行计划(一) 执行计划中的列typetype列指代访问类型,是MySQL决定如何查找表中的行。 是SQL查询优化中一个很重要的指标,拥有很多值,依次从最差到最优: ALL全表扫描,性能最差,在写SQL时尽量避免此种情况
2021-10-06
05
MySQL的执行计划(一) MySQL的执行计划(一)
什么是执行计划执行计划,就是一条SQL语句,在数据库中实际执行的时候,一步步的分别都做了什么事情 EXPLAIN命令是查看查询优化器是如何决定执行查询的主要方法,从它的查询结果中我们可以知道: 一个SQL语句每一步是如何执行的; 都做了哪
2021-10-05
04
MySQL的日志文件 MySQL的日志文件
二进制日志-binlog二进制日志-binlog,它是 MySQL 重要的日志模块,在 Server 层实现 binlog 以二进制形式,将所有修改数据的 query 记录到日志文件中,包括: query 语句 执行时间 相关事务信息
2021-10-04
03
Java的IO流 Java的IO流
基本概念同步和异步同步和异步是通信机制 同步:同步IO是用户线程发起IO请求后需要等待或轮询内核IO操作完成后才能继续执行。 异步:异步IO是用户线程发起IO请求后可以继续执行,当内核IO操作完成后会通知用户线程,或调用用户线程注册的回调
2021-10-03
02
02
限流算法有哪些? 限流算法有哪些?
在开发高并发系统时,有三把利器用来保护系统: 缓存 降级 限流 那么何为限流呢?顾名思义,限流就是限制流量,那又有那些限流算法呢? 计数器算法计数器限流算法,是指在指定的时间周期内累加访问次数,达到设定的需值时,触发限流策略。下一个时间
01
MySQL如何保证ACID MySQL如何保证ACID
ACID 原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行 一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。 隔离性:同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。 持久性:事务
2021-10-01
09
22
AQS原理 AQS原理
概念AQS是AbstarctQueuedSynchronizer 的简称 ,是一个用于构建锁和同步容器的框架。 juc并发 包内许多类都是基于 AQS 构建的 ReentrantLock ReentrantReadWriteLock Fu
2021-09-22
21
比较交换CAS 比较交换CAS
概念CAS 是比较交换 CompareAndSwap 的简称,是一种用于在多线程环境下实现同步功能的机制。 顾名思义就是比较并交换。简单来说,从某一内存上取值 V,和预期值 A 进行比较 如果内存值 V 和预期值 A 的结果相等,那么我们
2021-09-21
20
如何保证消息的可靠性传输 如何保证消息的可靠性传输
在生产环境中,因为机器以及网络设备的不可靠,保证消息的可靠是待解决的问题。在特定场景下消息可能存在丢失风险 消息发送流程我们可以将 RabbitMQ 消息处理的过程分为三个步骤: 生产阶段:生产者生产消息并且发送到消息队列; 储存阶段:消
2021-09-20
19
volatile 关键字 volatile 关键字
volatile 关键字 volatile 关键字解决内存可见性问题,是一种弱形式的同步。 该关键字可以确保当一个线程更新共享变量时,更新操作对其他线程马上可见。 当一个变量被声明为 volatile 时,线程在写入变量时不会把值缓存在寄存
2021-09-19
3 / 7