摘要: 一、什么是内存逃逸? golang在编译时,需要确定一个变量到底是在栈上分配内存,还是在堆上分配内存,不能在栈上分配的变量,就只能在堆上分配,就说这个变量内存逃逸了。 二、什么时候会内存逃逸? 引起内存逃逸的关键:编译器在编译时,无法确定变量的生命周期,只能在运行时控制。 函数返回了局部变量的指针 阅读全文
posted @ 2022-03-15 10:33 hugeQAQ 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 一、jion执行流程 select * from t1 straight_join t2 on t1.a = t2.a 假设 两个表a上都有索引,且强制以t1作为驱动表 执行过程: 从t1中读取一行数据R1 去t2的a索引树上找a=R1.a的id t2回表获取R2于R1组成一个结果 重复步骤 sel 阅读全文
posted @ 2022-03-14 22:20 hugeQAQ 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 一、group by 执行过程 select a,count(*) as cnt from t group by a 假设a上面没有索引 执行过程: 创建临时表,有两个字段a,cnt 且a为主键 遍历表t,假设记录为R,查看临时表中,是否有a=R.a的记录,没有就新增一条,有就cnt+1 临时表按c 阅读全文
posted @ 2022-03-14 22:05 hugeQAQ 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 一、order by 执行流程 select a,b,c from t where a = xxx order by b limit 100 假设a上有索引、b上没有索引(全字段排序) 执行过程: 通过a的索引树,获取到a=xxx的id 通过id从聚簇索引中查询到a,b,c三个字段,放入内存sort 阅读全文
posted @ 2022-03-14 22:04 hugeQAQ 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1、查看客户端连接数是不是太多了,如果太多检查下代码是不是忘了关闭连接 2、memory info 查看碎片率,碎片过多需要整理,设置参数自动清理 3、--big-keys 查找大key,该删删(unlink)、该优化优化 4、搞一份rdb文件,用工具分析rdb文件,找大key 阅读全文
posted @ 2022-03-13 22:54 hugeQAQ 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 一、什么是哨兵模式? 在redis主从模式下,如果主节点出现故障,需要从从节点中选举一个新的主节点,将其余从节点的主节点改变成新的主节点,同时要通知redis客户端主节点已经更换,等到原主节点恢复,还要将原主节点变成新主节点的从节点,这一系列操作,需要一个自动化的过程,哨兵模式就是自动完成这一系列操 阅读全文
posted @ 2022-03-13 22:28 hugeQAQ 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 一、redis的内存消耗到底在哪些地方? 自身内存(redis空进程消耗的内存,只有几M,可以忽略) 对象内存(主要的内存消耗,存储数据对象,包括key、value占的内存) 缓冲区内存(客户端输入缓冲区、服务端输出缓存区、AOF缓冲区) 内存碎片(对象内存不规则导致的内存碎片) 子进程内存消耗(R 阅读全文
posted @ 2022-03-12 16:50 hugeQAQ 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 1、什么是观察者模式? 2、为什么要用观察者模式? 当多个对象依赖于某个对象的行为变化作出反应时,需要用到观察者模式,发生行为变化的叫发布者,监听变化做出反应的叫观察者。(一对多依赖场景) 3、具体实现 阅读全文
posted @ 2022-03-11 11:33 hugeQAQ 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 1、什么是单例模式? 顾名思义:单例类只允许有一个对象实例。 2、为什么要用单例模式? 某些对象需要频繁的创建、销毁,但是对象本身的属性是没有任何变化的,为了节省创建销毁的开销,可以用单例模式 某些资源类对象(比如mysql连接对象)创建过程耗时,且实例化过多会影响其他性能(例如mysql连接过多) 阅读全文
posted @ 2022-03-11 11:09 hugeQAQ 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 1、为什么需要内存淘汰? redis的数据可以分为两种,一种不带过期时间,另一种带有过期时间,到期自动删除。假如redis的内存占用阈值为M,那么不带过期时间的数据太多或者带过期时间的数据没有及时删除,都可能导致内存溢出。 redis的过期删除策略:a、定期删除:redis会对设置了过期时间的数据定 阅读全文
posted @ 2022-03-10 10:53 hugeQAQ 阅读(142) 评论(0) 推荐(0) 编辑