自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java并发基础知识

进程是程序执行的实例,在一个操作系统中,正在运行的程序就是进程在一个进程中,正在运行的子程序流就是线程。是程序执行的最小单元,CPU调度的最小单位,指的是一个进程内的一个独立的执行路径。进程是线程的集合,一个进程除了包含多个进程之外还包含其余的共享变量空间。上下文切换(Context Switch)是指当操作系统在不同的线程或进程之间切换执行时,保存当前线程或进程的状态(即上下文),并恢复下一个要运行的线程或进程的状态的过程。

2024-09-16 20:24:44 770

原创 如何实现MySQL和Redis的数据一致

这个问题没有标准答案,主要聊得是思路和解决方案,并结合业务场景说出为什么选择这个方案,不同方案的优缺点对比。

2024-09-16 10:41:45 365

原创 布隆过滤器

解决缓存异常时会用到

2024-09-15 19:42:07 245

原创 Redis五中数据类型的底层实现

字符串是 Redis 中最基础的数据类型,可以存储整数、浮点数或字符串。Redis 并未直接使用 C 语言的char数组来存储字符串,而是实现了一种名为的结构,它比 C 语言的字符串更高效和灵活。\0。

2024-09-15 16:09:20 820

原创 IO多路复用

I/O 多路复用是一种在高并发环境中高效处理多个 I/O 操作的机制,避免了传统阻塞 I/O 模型的线程开销问题。常见的机制如selectpollepollkqueue各自适用于不同的场景,其中epoll是 Linux 系统中处理大规模 I/O 操作的首选。

2024-09-15 14:54:31 751

原创 Redis实现分布式锁

分布式锁是一种用于在分布式系统中协调多个节点对共享资源进行访问的机制,确保同一时刻只有一个节点能访问该资源。其目标是解决多个节点并发访问资源时的竞争问题。单机锁则是在单一系统中使用的锁机制,只需在一个进程或线程之间进行协调。

2024-09-14 15:40:17 788

原创 Redis基础知识

RDB:适合定期备份,快速恢复,但可能丢失最近的数据。AOF:数据更安全,但写性能较低,文件体积较大。混合持久化:结合两者优点,既保证数据安全又能快速恢复。Redis 缓存设计涉及多个方面,从缓存使用策略、数据结构选择到过期和淘汰机制,再到缓存的一致性和高可用性设计,最终目标是通过 Redis 提高系统性能、降低数据库压力,同时确保缓存数据的时效性和准确性。

2024-09-13 20:26:34 859

原创 MySQL调优

可以从多个方面讲,最好不要只讲索引和SQL语句(但这些也是必须要讲的),还可以补充一些架构、硬件方面(加分项)

2024-09-12 20:40:23 506

原创 MySQL日志

MySQL日志主要包括七种:1.重做日志(redo log)2.回滚日志(undo log)3.归档日志(bin log)4.错误日志(error log)5.慢查询日志(slow query log)6.一般查询日志(general log)7.中继日志(relay log)其中比较重要的是bin log归档日志,redo log重做日志和undo log回滚日志。

2024-09-11 22:48:30 296

原创 一条SQL语句在MySQL中的执行过程

server层涉及一系列业务的组件;存储引擎层负责存储数据,提供读写接口等功能。MySQL的存储引擎是插件式的,一个数据库里的不同表可以用不同的存储引擎。

2024-09-10 14:03:46 397

原创 MySQL锁机制

页级:开销和加锁时间在表级锁和行级锁之间,会出现死锁表级:开销小、加锁快,不会出现死锁;锁定颗粒度大,发生锁冲突概率最高,并发度最低行级:开销大,加锁慢,会出现死锁;锁颗粒度最小,发生锁冲突概率最低,并发最高。

2024-09-10 13:50:45 475

原创 MySQL索引

"回表”就是当非聚簇索引的查询结果不能满足查询的目标字段要求,那么就会通过主索引的值回聚簇索引中进行查找;这个过程就回表。回表不仅仅只是多查了一次,还会带来随机I/O,导致效率变低。所以不要因为方便都用 select * from,避免不必要的回表操作,或者增加覆盖索引。覆盖索引指的是二级索引中包含了查询所需的所有字段,从而是查询仅通过访问二级索引就可以获得想要的信息,避免了回表。是一种现象。

2024-09-09 20:08:46 864

原创 MySQL原理篇

事务,索引,锁的部分原理

2024-09-09 00:07:04 1258

原创 MySQL基础篇

MySQL基础面试知识

2024-09-08 21:32:48 1186

原创 MVCC面试题详解

并发环境下,写-写操作有加锁解决方案,但为了提高性能,InnoDB存储引擎提供MVCC,目的是为了解决读-写,写-读操作下不加锁仍能安全进行。MVCC的过程,本质就是访问版本链,并判断哪个版本可见的过程。该判断算法是通过版本上的trx_id与快照ReadView的若干个信息进行对比。MVCC的过程,本质就是访问版本链,并判断哪个版本可见的过程。该判断算法是通过版本上的trx_id与快照ReadView的若干个信息进行对比。

2024-09-07 20:49:40 831 1

空空如也

空空如也

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

TA关注的人

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