GaryLee's Blog
什么是Kafka的重平衡机制? 什么是Kafka的重平衡机制?
一、什么是Kafka的重平衡机制?Kafka的重平衡(Rebalance)机制指的是消费者组(Consumer Group)新增或删除消费者(Consumer)时,Kafka集群会重新分配topic分区给各个消费者,以保证每个消费者消费的分
2023-09-13
什么是消息队列? 什么是消息队列?
一、什么是消息队列?消息队列(Message Queue),简称MQ,是一种应用间的通信方式,主要由三部分组成: 生产者(Producer):负责消息发送 代理(Broker):负责消息存储 消费者(Consumer):负责消息消费 二
2023-09-13
如何提高缓存命中率? 如何提高缓存命中率?
一、什么是缓存命中率?如果我们使用redis作为缓存数据库,一般会用缓存命中率来评判对系统的性能(抗并发性)有多大的提升。通常来说,命中率越高,表示使用缓存效果越高,同时系统性能越好、抗并发能力越强。 缓存命中率指的是客户端查询语句查询re
2023-09-13
如何解决Redis的热点key问题? 如何解决Redis的热点key问题?
一、什么是热点key呢?热点key指的是频繁访问的key,比如明星八卦带来的微博热搜、双十一带来的秒杀活动等,都很容易出现热点key。 热点key带来的问题也很明显,就比如突然的微博热搜导致微博卡顿、宕机的情况,就是因为热点key被频繁访问
2023-09-12
MySQL中一条SQL的执行过程是怎样的? MySQL中一条SQL的执行过程是怎样的?
一、SQL的执行过程 执行SQL语句: select * from student A where age = 18 and name = 'Gary'; 步骤如下: 通过客户端/服务器通信协议与MySQL建立连接,并查询是否有权限 My
2023-09-11
MongoDB和MySQL有什么区别? MongoDB和MySQL有什么区别?
一、MongoDB和MySQL有什么区别? MongoDB MySQL 数据库类型 非关系型 关系型 存储方式 JSON 列+行存储 扩展性 支持分布式部署,可以动态扩展集群 需要横向分表或纵向扩容来解决数据量过大的问题
2023-09-11
synchronized的锁优化是怎样的? synchronized的锁优化是怎样的?
一、synchronized的锁优化包括哪些?synchronized的锁优化主要包括: 自旋锁 锁清除 锁粗化 … 二、synchronized的锁优化过程1、自旋锁例子:比如我们去银行取钱,我们有两种方式如下: 站在取款机前排队等
2023-09-11
synchronized的锁升级过程是怎样的? synchronized的锁升级过程是怎样的?
一、synchronized锁变化历程 在JDK 1.6及之前的版本中,synchronized锁是通过对象内部的一个叫做监视器锁monitor(也称对象锁)来实现的。当一个线程请求对象锁时,如果该对象没有被锁住,线程就会获取锁并继续执行。
2023-09-10
synchronized和ReentrantLock有什么区别? synchronized和ReentrantLock有什么区别?
一、synchronized和ReentrantLock有什么区别?synchronized和ReentrantLock的区别有以下几点: 底层实现:synchronized是Java关键字,ReentrantLock是Java API
2023-09-10
如何提升接口的性能? 如何提升接口的性能?
一、如何发现接口的性能问题?可以通过压测结合日志的方式去分析接口的瓶颈点,然后去针对性优化。 二、接口性能优化方案 数据库优化:《如何排查慢SQL问题?》、《如何进行SQL调优?》 引入缓存中间件:对于查询结果一样的请求,为了减少数据库压力
2023-09-10
什么是跳表? 什么是跳表?
一、什么是跳表?跳表其实就是多层链表,用来解决单层链表复杂度较高的问题。 跳表的特点: 多层链表组成 每一层链表都是有序的 最后一层链表包含所有数据 第二层链表开始包含前面层所有数据 … 二、跳表操作1、插入跳表插入逻辑跟链表一样的是要
2023-09-10
Redis中的Zset是怎么实现的? Redis中的Zset是怎么实现的?
一、什么是Zset?Zset(也叫Sorted Set)是Redis中的一种数据结构,支持传member和score两个字段,同时支持按照score排序。 常见命令: 添加成员:zadd <key> <score>
2023-09-10
6 / 15