摘要:
1. 基础注解(Java 内置) 注解说明 @Override 表示方法是重写父类的方法(编译时检查,确保方法签名正确)。 @Deprecated 标记方法或类已过时,不推荐使用,调用时会有警告提示。 @SuppressWarnings 抑制编译器警告,例如:@SuppressWarnings("u 阅读全文
摘要:
异地多活分布式架构,可以多个数据中心在不同地理位置提供相应的服务,数据的实时同步和故障切换,通常用于高可用和低延迟,例如在线有效,社交媒体. 异地多活架构,多个数据中心之通过高速网络连接进行数据同步和负载均衡,每个数据中心具有完整的应用程序和数据副本,同时提供服务并处理客户请求,当一个数据中心错误, 阅读全文
摘要:
Mysql没有使用红黑树的原因主要是因为红黑树的层级较多,可能会导致大量的磁盘IO操作。红黑树是一种自平衡的二叉查找树,它的特点是根节点为黑色,叶子节点为黑色的空节点,红色节点下的子节点一定为黑色节点。从根节点到叶子节点所有的路径上存在相同数目的黑色节点。红黑树的平衡性保证从根节点到叶子节点的最长 阅读全文
摘要:
前言 Redis中使用到的数据结构以及各个数据对象的底层数据结构在上一篇文章已经写得非常详细,这里不再赘述。 https://www.cnblogs.com/ruigedada/p/16248689.html zset的底层数据结构是压缩列表和跳表,当满足以下条件时,Redis将使用压缩列表存储 有 阅读全文
摘要:
最近在golang业务开发时,遇到一个坑。 我们有个服务,会接收通用的interface对象,然后去给用户发消息。因此会涉及到把各个业务方传递过来的字符串,转成interface对象。 但是因为我的字符串里有一个数字,比如下面demo里的{"number":1234567},而且数字是7位数,在经过 阅读全文
摘要:
一、redis set nx实现限流 比如我们需要在10秒内限定20个请求,那么我们在setnx的时候可以设置过期时间为当前时间戳+10s,使用set nx 设置20个互不相同的key,当请求的setnx数量达到20时候即达到了限流效果。 当然这种做法的弊端是很多的,比如当统计1-10秒的时候,无法 阅读全文
摘要:
一、数据丢失的情况 异步复制同步丢失 集群产生脑裂数据丢失 1.异步复制丢失 对于Redis主节点与从节点之间的数据复制,是异步复制的,当客户端发送写请求给master节点的时候,客户端会返回OK,然后同步到各个slave节点中。 如果此时master还没来得及同步给slave节点时发生宕机,那么m 阅读全文
摘要:
有一个项目,mysql 语句采用了not in,结果某些页面打开需要40多秒,排查sql语句后,发现是采用了 not in 语法导致全表扫描,消耗了大量的时间,飘易记录下优化的过程: 项目简介:会议应该签到表 signshould :15万条数据会议实际签到表 sign :10万条数据请假表 lea 阅读全文
摘要:
主键索引是InnoDB存储引擎默认给我们创建的一套索引结构,我们表里的数据也是直接放在主键索引里,作为叶子节点的数据页。 但我们在开发的过程中,往往会根据业务需要在不同的字段上建立索引,这些索引就是二级索引,今天我们就给大家讲讲二级所有的原理。 比如,你给name字段加了一个索引,你插入数据的时候, 阅读全文
摘要:
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可 阅读全文