会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
卷毛狒狒
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2020年12月21日
go sync.map源码解析
摘要: go中的map是并发不安全的,同时多个协程读取不会出现问题,但是多个协程 同时读写就会出现 fatal error:concurrent map read and map write的错误。通用的解决办法如下: 1. 加锁 1.1 通用锁 import "sync" type SafeMap str
阅读全文
posted @ 2020-12-21 18:13 卷毛狒狒
阅读(184)
评论(0)
推荐(0)
2020年9月22日
for .. range中的坑
摘要: 最近在开发中使用了for range来遍历一个slice,结果在测试的时候遇到了bug,最后定位是错误使用for range造成的,这里记录一下: func redisSlaveScanBigKeys(slaveClient *redis.Client, bigKeyChan chan *bigKe
阅读全文
posted @ 2020-09-22 19:15 卷毛狒狒
阅读(444)
评论(0)
推荐(0)
InnoDB两次写
摘要: partial page write问题: 默认情况下,innodb的一个页面时16k大小,其数据校验也是针对这16k来校验的,将数据写入磁盘是以页面为单位的。文件系统是以4k为单位写入的,机械磁盘是以扇区【512字节】为单位写入的,因此不能保证一个16k的页面原子性写入。如果在刷新脏页的时候系统宕
阅读全文
posted @ 2020-09-22 18:55 卷毛狒狒
阅读(666)
评论(0)
推荐(0)
2020年9月10日
pt-osc又又出现死锁了
摘要: 今天使用pt-osc修改mysql表结构,又出现死锁了,老大让尽量解决这个问题,我们先分析一下pt-osc容易出现死锁的原因,再来解决这个问题。 根据pt-osc打印的日志,可以看到pt-osc执行原理:1. 创建一个跟原表表结构一样的新表;注意:这里的新表是一个临时表 _table_new2. 修
阅读全文
posted @ 2020-09-10 19:32 卷毛狒狒
阅读(676)
评论(0)
推荐(0)
2020年9月4日
redis在物理机部署模式下如何进行资源[cpu、网卡]隔离
摘要: 上周末晚上运营做直播,业务代码不规范,访问1个redis竟然把1台服务器的网卡打满了,这台服务器上的其他redis服务都受到了影响。之前没有做这方面的预案,当时又没有空闲的机器可以迁移,在当时一点办法都没有,尴尬啊,就这样拖到了直播结束。结束后做复盘,leader对数据库这边要求必须对数据库使用服务
阅读全文
posted @ 2020-09-04 11:09 卷毛狒狒
阅读(476)
评论(0)
推荐(0)
2020年8月4日
快速排序算法 - go实现
摘要: 在分析redis集群中大Key的时候,通常都采用分析rdb文件的方式;但是这种方式需要在每一台redis服务器上部署分析程序及分析脚本,而像salt之类的工具运维没有开放给我们使用,一台一台部署不好管理。正好我们的总redis规模不大,大概在200个集群左右,考虑到cluster集群,需要分析的re
阅读全文
posted @ 2020-08-04 19:16 卷毛狒狒
阅读(553)
评论(0)
推荐(0)
2020年7月24日
将mysql主从复制由ABB模式修改为ABC模式
摘要: 最近遇到一个奇葩的需求,需要将mysql的主从复制模式由ABB修改为ABC,恰好这个mysql集群没有开启GTID,当时是在B上做了一次全量备份,然后使用该全量备份恢复C的方式进行的。做完之后在想有没有简单的方式实现,最终有了结果。 假设原主从复制拓扑为 A -- B1 -- B2,最终要求 B2作
阅读全文
posted @ 2020-07-24 10:09 卷毛狒狒
阅读(203)
评论(0)
推荐(0)
2020年7月21日
MDL锁
摘要: mdl锁的主要作用是用来维护表元数据的一致性。在表上有活动事务的时候,不可以对表元数据进行修改操作。 如果没有MDL锁的保护,那么session2可以直接执行,并导致session1出错。 MDL锁是server层级的锁,每执行一条DDL DML语句事都会申请MDL锁,MDL加锁过程事系统自动控制,
阅读全文
posted @ 2020-07-21 20:25 卷毛狒狒
阅读(780)
评论(0)
推荐(0)
2020年7月20日
mysql的MVCC
摘要: 《高性能 MySQL》描述:1. 通过两个隐藏列,一个保存行的创建时间,一个保存行的过期时间RR隔离级别:检索创建时间在当前事务版本号之前的数据,同时会检查数据的删除时间,保证新的删除操作不可见。select * from table where create_version <= ${versio
阅读全文
posted @ 2020-07-20 22:28 卷毛狒狒
阅读(294)
评论(0)
推荐(0)
2020年7月19日
mysql explain详解
摘要: mysql中,使用explain可以模拟优化器执行sql语句,分析查询语句的性能瓶颈。 id:select查询的序号,表示的是查询中执行select子句的顺序。关注该字段获取sql语句各子句的执行顺序 1. id相同表示加载的顺序是从上到下 2. id值越大,优先级越高,越先被执行 select_t
阅读全文
posted @ 2020-07-19 22:40 卷毛狒狒
阅读(300)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告