站长简介:某重点大学硕士毕业,历任阿里,网易等大厂,做过Web开发,也做过大数据开发,担当过盈利数千万公司的CTO,尤其是在数据存储和分布式领域有深厚的从业经验。喜欢技术并乐意分享和传播技术。近年来,站长带徒和指导过的人有:南加州大学物理博士,某生物学博士,密歇根大学硕士,西安电子科技大学硕士,还有很多本科,专科等学生。别人主动说一下,站长就记住了,很...

备注:分布式内参,顾名思义,仅对站长徒弟公开。站长收徒的内容,看似平淡无奇,实则高深莫测。以MyBatis为例,一个零基础的菜鸟,短则一两周、长则一个月就能玩转它,但是MyBatis中文网做了两年多,两者的深度完全不在一个层面。1、简介:分布式内参的特色是“分布式理论学习+ZooKeeper学习+动手实战”,其内容延续了站长的一贯风格---严谨,务实,...

1、前言在我们日常的开发中,通常都是使用数据库来进行数据的存储,由于一般的Web系统中通常不会存在高并发的情况,所以并没有什么问题。可是,一旦出现大并发量的数据请求,比如一些商品抢购的情景,或者是节假日访问量瞬间变大的时候,单一使用数据库来保存数据的系统会因为磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间...

导读本文参考自简书的某位作者,并做了增删。我一般称为“一级索引”和“二级索引”,这样好记一点。正确的称谓是:集聚索引和非聚集索引。顾名思义,叶子节点存放主索引和数据的树,称为集聚索引树;叶子节点存放辅助索引和主索引的树,称为非集聚索引树。备注:一和二体现了主次和先后关系,聚焦和非聚焦体现不出来,我建议称为:“一级索引”和“二级索引”。1、一级索引索引和...

备注:本内容仅限于徒弟们的水平自测,请勿查阅百度。1、你对spring容器是否重视?请回答是或否即可。什么算是重视呢?举个例子来说,在Java里面有个数据容器ArrayList,你对Spring容器的重视约等于对于ArrayList的重视。有的人看到ArrayList是Java自身的东西,自然很重视,但是看到Spring容器,非Java自身的东西,他就...

在MyBatis中文网上,目前只有三篇关于Git用法介绍的文章(原创文章),时间跨度为2018年~2020年,可谓是精品难出啊。这三篇文章分别是:(1)《深度理解Git的origin仓库》(2)《Git使用教程:本地仓库与远程仓库建立连接》(3)《Git的存储机制:文件快照->分支->HEAD->分支切换->分支冲突》学习的过程...

本文导读本文从“文件快照”这个出发点切入,逐步延伸出“分支”和“分支冲突”。提醒一下:如果丢掉了“文件快照”这个基点,只学习“分支”,学习效果并不好!声明:文中的图片来自于互联网,版权归原作者所有,但文中的文字属于本站原创。1、Git的存储机制Git保存的不是文件差异或者变化量,而只是一系列文件快照。也就是说,Git每次修改之后都是整个文件去保存。有些...

大家端午节快乐!今年的疫情比较严重,很多节日都没有了气氛,大家都注意身体,加班之余也要忙里偷闲看看书,自我提升一点。不看书是不行的。这个世界变化太快了,还好,AI泡沫破了,以后面试的时候,大家可以松口气了,也不用去刷数据结构和算法了。可恶的AI,搞的整个IT都在刷数据结构和算法。大家吸取教训吧,不要觉得技术更替跟你没有关系,守住自己的一亩三分地想着养老...

1、背景介绍最近被一个群成员问到了MySQL的IF()函数,上网搜索了一下,发现IF()函数与CASE函数一脉相承。之前有专门的文章写过CASE函数【请参考:《SQL CASE WHEN 用法的深度解析》】,再次看到CASE函数与IF函数并列出现,倍感亲切。2、场景分析新建一张客户表,如下:sex:1-男,2-女,3-未知;level是客户的级别:1-...

1、MyBatis的参数映射配置MyBatis的参数映射利用的属性是:parameterType。这个属性是可选的,因为 MyBatis 可以通过类型处理器(TypeHandler)推断出具体传入语句的参数。2、简单类型,不需要设置 parameterType对于大多数简单的使用场景,你都不需要使用复杂的参数,比如:<select id=&quo...

很久之前,在芬兰有一个研发数据库的公司,名叫Innobase。公司开发了一款数据库产品InnoDB。这是一个完整的数据库,功能非常的完备。开发出来之后,创始人是想将这个数据库卖掉的,但是没有找到买家。后来,另外一个芬兰技术大牛,跑到瑞典创立了数据库公司MySQL。MySQL的理念是开源和共享。MySQL从设计之初,存储引擎就是可插拔的,允许公司或者个人...

备注:本文更新于2020年6月18日前言本文是对 SQL CASE WHEN 用法的深度解析,重新理解case when then else end用法。在SQL的世界中CASE WHEN语句相当于if-else语句。虽然看似简单,但是CASE WHEN并不容易掌握,CASE的用法分为两种形式:简单CASE函数和CASE条件表达式函数。简单CASE函数...

前言传统模式下,开发和运维会有比较清晰的边界,开发人员负责服务运行稳定,运维人员负责服务运行的基础设施稳定。而进入到云原生时代,特别是容器化和 Service Mesh 落地之后,服务框架、服务治理、灰度发布等稳定性密切相关的能力都作为基础设施下沉了,开发和运维的边界开始变得模糊。所以,企业 IT 人员的职责也应该相应的进行重新划分,也就是说开发人员也...

很多时候新增一条数据,仅仅知道操作结果(新增成功)是远远不够的,更多的时候需要这条新增数据的主键,以便下文使用。通常的办法是:先新增,后将其查询出来,这在MySQL中有专门的函数可以获取到:SELECT LAST_INSERT_ID(),顾名思义,此函数的目的是获取最后插入的自增ID。mybatis中通过一些设置可以将insert的数据的主键返回,直接...

在MySQL的数据类型中,Tinyint的取值范围分两种情况:带符号的范围是-128到127,无符号的范围是0到255。Tinyint占用1字节的存储空间,即8位。那么Tinyint的取值范围怎么来的呢?我们先看无符号的情况。无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0。无符号的最大值即全部8bi...

1、SQL 介绍SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。SQL里面一切皆集合。SQL以关系代数为基础发展出来的一门语言,关系代数主要是"集合。SQL语句形式:select .... from ....。集合在SQL当中的表现形式:每一个select语句都是一个集合,写在from后面的每个表、子查询、视图可以算作一个集合。SQL功能...