go 空结构体 可以三种使用场景:
实现方法接收者。
实现集合类型。
实现空通道。
select 可以用作协程的退出。context可以用来跟踪goroutine,取消掉所有goroutine
waitgroup和context都可以用控制并发
读未提交 ===== 读到了还未提交的,提交读 ====只能读取到已经提交的事务,因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。
幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行
如何保持缓存和数据库的一致性? 先更新数据库再删除缓存,如果删除缓存失败,通过队列补偿机制重试,或者订阅mysql的binlog日志再重试
如何删除redis大Key ? scan分批删除法,异步删除法,使用unlink代替delete,
标签:面试题,缓存,读取,删除,提交,go,select From: https://blog.51cto.com/u_15902893/5912432