1.缓存穿透 是指当用户在查询一条数据的时候,而此时数据库和缓存都没有关于这条数据的任何记录,而这条数据在缓存中没找到就会向数据库请求获取数据。...
1.go struct能不能比较?当结构体内含有不可比较的类型(Slice, Map, 和Function)时,不可以比较,反之可以比较。 两个...
分布式锁在后台应用广泛,抢票系统,秒杀系统都能看到它的身影,实现分布式锁的方式有很多,比如zookeeper,redis,以及etcd。下面用一...
为什么需要context在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个...
什么是事务?事务是一组原子性的sql语句,或者说是一个独立的工作单元。事务有四个特性,原子性(Atomicity),一致性(Consistenc...
MPG模型1.M代表一个内核线程,也可以称为一个工作线程。goroutine就是跑在M之上的。2.P代表着处理器(processor),它的主要...
映射是一个集合,可以使用类似处理数组和切片的方式迭代映射中的元素。但映射是无序的集合,意味着没有办法预测键值对被返回的顺序。即便使用同样的顺序保...
先看下源码,源码位于src/runtime/chan.go中 qcount uint // 当前队列中剩余元素个数dataqsiz uint /...
var k int = 1var s = []int{1,2}多重赋值分为两个步骤,有先后顺序,算等号左边的索引表达式和取址表达式,接着计算等号...