-
一口气说出9种分布式ID生成方式,面试官有点懵了
前两天公众号有个粉丝给我留言吐槽最近面试:“四哥,年前我在公司受点委屈一冲动就裸辞了,然后现在疫情严重两个多月还没找到工作,接了几个视频面试也都没下文。好多面试官问完一个问题,紧接着说还会其他解决方法吗?能干活解决bug不就行了吗?那还得会多少种方法?” 面试官应该是对应聘者的回答不太满意,他想听到一个他认为最优的解决方案,其实这无可厚非。同样一个bug,···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
飞天茅台超卖事故:Redis分布式锁请慎用!
基于 Redis 使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为 Redis 分布式锁造成的事故分析及解决方案。 图片来自 Pexels 背景 我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存 100 瓶,但是却超卖了! 要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为 P0 级重大···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
同事问我MySQL怎么递归查询,我懵逼了...
前言 最近在做的业务场景涉及到了数据库的递归查询。我们公司用的 Oracle ,众所周知,Oracle 自带有递归查询的功能,所以实现起来特别简单。 但是,我记得 MySQL 是没有递归查询功能的,那 MySQL 中应该怎么实现呢? 于是,就有了这篇文章。 文章主要知识点: Oracle 递归查询, start with connect by prior ···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
MySQL同步延迟,是个难题
本文转载自微信公众号「虞大胆的叽叽喳喳」,作者虞大胆 。转载本文请联系虞大胆的叽叽喳喳公众号。 在mysql应用中,最让人揪心的就是同步延迟问题,原因是多方面的,但带来的负面影响非常大,甚至都无法解释。 mysql作为最流行的关系型数据库之一,它的强项可能并不是速度,并行复制能力也并不强,所以如果你要重度依赖mysql,那么必须意识到同步延迟可能是常态。 ···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
彻底搞清分库分表(垂直分库,垂直分表,水平分库,水平分表)
分库分表是什么 下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECTp.*,r.[地理区域名称],s.[店铺名称],s.[信誉]FROM[商品信息]pLEFTJOIN[地理区域]rONp.[产地]=r.[地理区域编码]LEFTJOIN[店铺信息]sONp.id=s.[所属店···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
实现一个Redis分布式锁
前言 在我们日常开发中,难免会遇到要加锁的情景。例如扣除产品库存,首先要从数据库中取出库存,进行库存判断,再减去库存。这一波操作明显不符合原子性,如果代码块不加锁,很容易因为并发导致超卖问题。咱们的系统如果是单体架构,那我们使用本地锁就可以解决问题。如果是分布式架构,就需要使用分布式锁。 方案 使用 SETNX 和 EXPIRE 命令SETNXkeyval···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
来讨论一下这些常见的Redis面试题
1、Redis支持的数据类型? String(字符串) 格式: set key value string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 Hash(哈希) 格式: hmset name key1 value1 k···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
我C,MySQL双主架构,原来能这么玩
经常有朋友问,MySQL双主的一致性问题,今天简单聊一聊。 MySQL为什么要使用双主架构? MySQL最常见的集群架构,是一主多从,主从同步,读写分离的架构。通过这种方式,能够扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。 为了保证MySQL写库的高可用,可以在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式,来···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
SQL查找是否"存在",别再count了,很耗费时间的
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢? 无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count 目前多数人的写法 多次REVIEW代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
为什么我不喜欢数据库三范式?
插曲 最近,一个远房亲戚的小表弟准备选修专业 找到我问: "哥,现在学数据库有没有前途阿?" "当然有啊,前途大大的呢" "那我现在开始学数据库,需要先从什么开始呢?" "学课程的话,先了解下数据库三范式,SQL这些吧" "SQL我大概知道,数据库三范式是什么?" "阿...三范式就是表的主键...唯一性那些东西吧,...嗯,应该就是那些" "什么是主键?···
- 发布时间:2025-05-14
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])