内容简介
第1部分 基本功能
第1章 基于HTTP的内存缓存服务
1.1 缓存服务的接口
1.1.1 REST接口
1.1.2 缓存Set流程
1.1.3 缓存Get流程
1.1.4 缓存Del流程
1.2 Go语言实现
1.2.1 main包的实现
1.2.2 cache包的实现
1.2.3 HTTP包的实现
1.3 功能演示
1.4 与Redis比较
1.4.1 Redis介绍
1.4.2 redis-benchmark介绍
1.4.3 cache-benchmark介绍
1.4.4 性能对比
1.5 小结
第2章 基于TCP的内存缓存服务
2.1 基于TCP的缓存协议规范
2.1.1 协议范式
2.1.2 缓存Set流程
2.1.3 缓存Get流程
2.1.4 缓存Del流程
2.2 Go语言实现
2.2.1 main函数的变化
2.2.2 TCP包的实现
2.2.3 客户端的实现
2.3 功能演示
2.4 性能测试
2.5 小结
第3章 数据持久化
3.1 RocksDB简介
3.2 RocksDB性能测试
3.2.1 基本读写性能
3.2.2 大容量测试
3.3 用cgo调用C++库函数
3.4 Go语言实现
3.4.1 main函数的实现
3.4.2 cache包的实现
3.5 功能演示
3.6 性能测试
3.7 小结
第2部分 性能相关
第4章 用pipelining加速性能
4.1 pipelining原理
4.2 redis pipelining性能对比
4.3 Go语言实现
4.3.1 main包的实现
4.3.2 cacheClient包的实现
4.4 性能测试
4.5 小结
第5章 批量写入
5.1 批量写入能够提升写入性能的原理
5.2 RocksDB批量写入性能测试
5.3 Go语言实现
5.4 性能测试
5.5 小结
第6章 异步操作
6.1 异步操作能够提升读取性能的原理
6.2 Go语言实现
6.3 性能测试
6.4 小结
第3部分 服务集群
第7章 分布式缓存
7.1 为什么我们需要集群服务
7.2 负载均衡和一致性散列
7.3 获取节点列表的接口
7.4 Go语言实现
7.4.1 main函数的实现
7.4.2 cluster包的实现
7.4.3 HTTP包的实现
7.4.4 TCP包的实现
7.5 功能演示
7.6 小结
第8章 节点再平衡
8.1 节点再平衡的技术细节
8.2 节点再平衡的接口
8.3 Go语言实现
8.3.1 HTTP包的实现
8.3.2 cache包的实现
8.4 功能演示
8.5 小结
第9章 缓存生存时间
9.1 缓存生存时间的作用
9.2 Go语言实现
9.2.1 main函数的实现
9.2.2 cache包的实现
9.3 功能演示
9.4 小结