读未提交 RU(Read Uncommitted) 允许一个事务读取另一个事务尚未提交的数据,即脏读(Dirty Read)读提交 RC(Read Committed) 一个事务提交之后才能读取另一个事务提交的数据。避免了脏读,但可能出现不可重复读和幻读。可重复读 RR(Repeatable R...
也是docker containerd的生成方法func GetRandomString2(n int) string { randBytes := make([]byte, n/2) rand.Read(randBytes) return fmt.Sprintf("%x...
简介1970年由布隆提出,至今仍广泛应用原理根据数据量定义一个长度为n的bitMap(bitMap的长度要和hash值能产出对应起来,n越大,越消耗性能)定义k个hash函数给存在的键求得值,在bitMap上标1(k和长度n关联,k越大,误判越低)有数据来时,通过n个hash函数计算,只有求得的bi...
缓存雪崩现象:大量缓存key由于设置了相同过期时间后在同时失效,导致大量请求同时打到数据库解决:随机过期时间定时器在过期之前刷缓存穿透现象:非正常的key被大量请求,导致流量打到数据库解决:合法性校验布隆过滤器缓存击穿现象:热点key被同时请求,导致流量打到数据库,常见于秒杀解决:请求数据库加red...
注意点:①该函数较新,旧版本微信无法使用,完善的小程序需要判断②vant-app的Toast组件可能会有冲突,暂时请直接用微信的loadingwx.chooseMessageFile({ count: 1, type: 'file', success(r...
实现方式1.通过接口来实现,即函数指定接口为参数时,所有实现了这个接口的对象都可以作为参数传入2.接口数组或者切片可以存放实现这个接口的所有不同类型的对象类型断言1.通过接口参数传进来的变量,如果需要将其赋给某个具体的值,需要执行断言操作,即 b=a.(B) //B即是b的类型名,但是这种情况下,...
它是一个控制结构,可以看成是只用于管道的switch,每个case都必须是管道操作,它将随机选取一个可运行的case,如果,所有都不可运行,则它将阻塞,它具备一下性质1.每个 case 都必须是一个通信2.所有 channel 表达式都会被求值3.所有被发送的表达式都会被求值 // 2和3总结下就是...
主要原因少path store.Options(sessions.Options{ MaxAge: 3600 * 3, Path: "/", })...