Mysql - 持续更新

8 月 29 日
阅读 6 分钟
186
常见引擎InnoDBInnoDB是MySQL的默认存储引擎,它支持事务、行级锁定和外键约束等功能。支持 MVCC(多版本并发控制)机制,提高了读写并发性。支持行级锁定,提高并发读写性能。数据和索引存储在同一个表空间中,占用空间较大。不支持全文索引。MyISAM不支持事务和外键约束。使用表级锁定,不支持行级锁,并发性较低。数...

go-协程、GMP

8 月 28 日
阅读 1 分钟
261
goroutine是用户态线程,其创建和切换都在用户代码中完成而无需进入操作系统内核,所以其开销要远远小于系统线程的创建和切换;协程有时也被称为绿色线程。绿色线程是由程序的运行时(runtime)维护的线程。每个Go程序启动的时候只有一个对用户可见的协程,我们称之为主协程。一个协程可以开启更多其它新的协程。当一个...

限流算法

8 月 26 日
阅读 5 分钟
294
什么是限流限流是一种应用系统常用的保护机制,用于防止服务因流量激增而崩溃或性能下降。常见限流算法令牌桶令牌桶工作原理如下:系统中有一个容量为 R 的虚拟桶,每隔 T 时间单位会往桶里添加一个令牌。这样就限制了平均流量不能超过 R/T。当客户端发起请求时,会从桶中取出一个令牌。如果桶中没有令牌,则请求会被阻塞或拒...

go-defer

8 月 26 日
阅读 2 分钟
167
当一个函数调用返回(此时可能尚未完全退出)并进入它的退出阶段后,所有在执行此函数调用的过程中已经被推入延迟调用队列的调用将被按照它们被推入的顺序逆序被弹出队列并执行一个延迟调用可以修改包含此延迟调用的最内层函数的返回值

go-字符串

8 月 25 日
阅读 2 分钟
154
字符串值的内容(即底层字节)是不可更改的。 字符串值的长度也是不可独立被更改的。 修改应该重新赋新值;或者转换成字节切片(重新开辟一段内存,复制原先内容)再修改。

go-数组、切片、映射(map)-- 持续更新

8 月 17 日
阅读 7 分钟
269
数组类型:[N]T切片类型:[]T映射类型:map[K]TT可为任意类型。它表示一个容器类型的元素类型。某个特定容器类型的值中只能存储此容器类型的元素类型的值。N必须为一个非负整数常量。它指定了一个数组类型的长度,或者说它指定了此数组类型的任何一个值中存储了多少个元素。 一个数组类型的长度是此数组类型的一部分。比...

go-并发编程

8 月 16 日
阅读 6 分钟
130
什么是并发同步?并发同步是指如何控制若干并发计算(在Go中,即协程),从而避免在它们之间产生数据竞争的现象;避免在它们无所事事的时候消耗CPU资源。并发同步有时候也称为数据同步。Go支持的并发同步技术通道不要让计算通过共享内存来通讯,而应该让它们通过通讯来共享内存。通道类型和值每个通道类型也有一个元素类...

mit6.5840(原6.824)- lab3:raft

7 月 26 日
阅读 16 分钟
393
Raft 通过选举出一个领导人,然后给予他全部的管理复制日志的责任来实现一致性。领导人从客户端接收日志条目(log entries),把日志条目复制到其他服务器上,并告诉其他的服务器什么时候可以安全地将日志条目应用到他们的状态机中。