天道不一定酬所有勤
但是,天道只酬勤

数据库

再有人问你什么是MVCC,就把这篇文章发给他!

hollischuang阅读(305)评论(0)赞(0)

一想到并发控制,很多人第一反应就是加锁,的确,加锁确实是解决并发问题最常见的方案。但是,其实除了加锁以外,在数据库领域,还有一种无锁的方案可以来实现并发控制,那就是大名鼎鼎的MVCC。 MVCC,是Multiversion Concurre...

为什么阿里巴巴禁止数据库中做多表join?

hollischuang阅读(475)评论(0)赞(0)

阿里出过一个《Java开发手册》,上面有一条规约是禁止超过三张表的join。 而实际操作过程中,我们平时确实在SQL中写JOIN也比较少,两张表JOIN有的时候也有,多张表的JOIN在离线数据分析的时候很多,但是在线系统确实很少。经常有人问...

Redis 为什么要自己实现用SDS实现一个字符串

hollischuang阅读(485)评论(0)赞(0)

Redis是一种KV的存储结构,他的key是字符串类型,值也支持字符串,所以字符串是redis中最常见的一个类型了。Redis自己本身是通过C语言实现的,但是他并没有直接使用C语言中的字符数组的方式来实现字符串,而是自己实现了一个SDS,即...

再有人问你什么是分库分表,直接把这篇文章发给他

hollischuang阅读(912)评论(0)赞(1)

分库分表,是企业里面毕竟常见的针对高并发、数据量大的场景下的一种技术优化方案,也是一个非常高频的面试题。但是,因为很多人其实并没有非常丰富的分库分表的经验,所以能把这个问题回答的比较好的人其实还挺少的。 那么,本文就来试图把关于分库分表的事...

再有人问你数据库缓存一致性的问题,直接把这篇文章发给他

hollischuang阅读(892)评论(0)赞(3)

在之前的一篇文章《为什么会出现数据库和缓存不一致的问题》中,我们介绍过缓存和数据库会出现数据不一致的几种情况。 我们提到过,在数据库和缓存的操作过程中,可能存在”先写数据库,后删缓存”、”先写数据库,后更新缓存”、”先删缓存库,后写数据库”...

深入源码,深度解析Java 线程池的实现原理

hollischuang阅读(5822)评论(1)赞(8)

java 系统的运行归根到底是程序的运行,程序的运行归根到底是代码的执行,代码的执行归根到底是虚拟机的执行,虚拟机的执行其实就是操作系统的线程在执行,并且会占用一定的系统资源,如CPU、内存、磁盘、网络等等。所以,如何高效的使用这些资源就是...

再有人问你MySql 的隔离级别是什么,就把这篇文章发给他!

hollischuang阅读(2487)评论(0)赞(5)

首先要明白什么是事务? 事务是程序中一系列严密的操作,所有的操作必须完成,否则在所有的操作中所做的所有的更改都会被撤销。也就是事务的原子性,一个事务中的一系列的操作要么全部成功,要么就是失败。 事务的结束有两种,当事务中所有的步骤全部成功执...

HollisChuang's Blog

联系我关于我