- 支持多种缓存淘汰策略,如FIFO,LRU,LFU
- 支持设置缓存过期时间,通过惰性删除和定期删除组合的方式删除过期数据
- 缓存未命中时采用singleflight实现数据加载,防缓存穿透
- 系统在客户端通过一致性哈希实现负载均衡
- 使用etcd作为服务注册中心,客户端和服务端节点间通过gRPC实现服务调用
cd sabercache_server/server && go run main.go
cd sabercache_client && go run main.go
go run main.go --tcpAddr 指定地址
set k1 v1
get k1
set k2 100 v2
get v2
ttl v2
getall
save
exit
- 客户端定时监听服务端节点变化,并调整服务端节点缓存
- 服务端正常下线