• 谈谈 MySQL 锁

    一、前言MySQL的并发控制是在数据安全性和并发处理能力之间的权衡,通过不同的锁策略来决定对系统开销和性能的影响。只要存在多个客户端同时修改更新数据,就会存在并发问题,MySQL通过MVCC和锁来处理这一问题。二、锁的粒度LockTypeMySQL源码中定义了两种锁的粒度,分别是表锁和行锁。/**L...

    Neo4j 入门

    谈到数据库,大多数开发工程师首先会想到常用到的Oracle、MySQL这类关系型数据,以及MongoDB、Redis这类Nosql数据库。下面这张图是2020年3月数据库排行榜(https://db-engines.com/en/ranking),我们可以发现一个名叫Neo4j的数据库排名21,而且...

    WebSocket 介绍

    一、应用场景​早期系统需要支持一个功能,当有申请单提交时,通过页面弹窗提醒审批人。当时的实现方式是,由前端定时轮询调用后台接口,获取待审批的申请单数量。实现简单粗暴,调用量不大时还好,一旦使用人增多,会对后台造成一定的请求压力,并且大部分请求都是无意义的。近些天又来一个类似的需求,就在想有没有一种其...

    延时任务的几种实现方式

    一、应用场景在需求开发过程中,我们经常会遇到一些类似下面的场景:a.外卖订单超过15分钟未支付,自动取消b.使用抢票软件订到车票后,1小时内未支付,自动取消c.待处理申请超时1天,通知审核人员经理,超时2天通知审核人员总监d.客户预定自如房子后,24小时内未支付,房源自动释放那么针对这类场景的需求应...

    MySQL索引入门

    一、什么是索引一般来说,数据库中所存放的数据量级动辄几十万上百万,在大型项目中甚至达到数千万,当我们需要查询某些符合我们要求的数据时,把一条一条数据进行检索对比,速度会非常慢。就像小时候我们拿着一本新华字典,碰到不认识的字时并不会一页一页每个字都看一下是不是要查的字,而是像老师教我们的那样,先从目录...