数据库 设置好连接 mysql 的 dsn(data source name) 通过 gorm.Config 完成 db 有关的自定义配置 通过 gorm.Open 方法完成 db 实例的创建 流程如下: package mysql
import (
"gorm.io/driver/mys
Golang 的开源库GroupCache 传统hash的负载均衡 扩缩容 从hash(username) % 3⇒hash(username) % 4 负载均衡策略变化,任何用户都可能导致hash失效, 缓存集体失效可能导致后端直接承受过请求 一致性 Hash 的原理 有序 Hash 环的方式选择
Redis实战 Redis 如何实现延迟队列? 延迟队列是指把当前要做的事情,往后推迟一段时间再做。延迟队列的常见使用场景有以下几种: 在淘宝、京东等购物平台上下单,超过一定时间未付款,订单会自动取消; 打车的时候,在规定时间没有车主接单,平台会取消你的单并提醒你暂时没有车主接单; 点外卖的时候,如
Redis 线程模型 Redis 是单线程吗? Redis 单线程指的是「接收客户端请求->解析请求 ->进行数据读写等操作->发送数据给客户端」这个过程是由一个线程(主线程)来完成的,这也是我们常说 Redis 是单线程的原因。 但是,Redis 程序并不是单线程的,Redis 在启动的时候,是会
分布式锁的使用场景 在并发场景中,为了保证临界资源的数据一致性,我们会经常使用到“锁”这个工具对临界资源进行保护,让混乱的并发访问行为退化为秩序的串行访问行为. 分布式锁应该有以下性质: 独占性:同一把锁,同一时刻只能被一个取锁方占有 健壮性:不能产生死锁 对称性:加锁和解锁使用方必须用同一身份 高