
7天用Go从零实现分布式缓存GeeCache
文章平均质量分 91
极客兔兔 7天用Go从零实现分布式缓存GeeCache 学习笔记
百里守约学编程
你会的越多,不会的越多。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
day7 使用 Protobuf 通信
本文是`7天用Go从零实现分布式缓存GeeCache`的第七篇。- 为什么要使用 `protobuf`?- 使用 `protobuf` 进行节点间通信,编码报文,提高效率。代码约`50`行原创 2024-07-30 17:00:46 · 689 阅读 · 0 评论 -
day6 防止缓存击穿
本文是`7天用Go从零实现分布式缓存GeeCache`的第六篇。- 缓存雪崩、缓存击穿与缓存穿透的概念简介。- 使用 `singleflight` 防止缓存击穿,实现与测试。代码约`70`行原创 2024-07-30 15:36:41 · 992 阅读 · 0 评论 -
day5 分布式节点
本文是`7天用Go从零实现分布式缓存GeeCache`的第五篇。- 注册节点(`Register Peers`),借助一致性哈希算法选择节点。- 实现 `HTTP` 客户端,与远程节点的服务端通信,代码约`90`行原创 2024-07-20 23:00:42 · 1119 阅读 · 0 评论 -
day4一致性哈希
本文是`7天用Go从零实现分布式缓存GeeCache`的第四篇。- 一致性哈希(`consistent hashing`)的原理以及为什么要使用一致性哈希。- 实现一致性哈希代码,添加相应的测试用例,代码约`60`行原创 2024-07-20 20:14:14 · 726 阅读 · 0 评论 -
day3 HTTP 服务端
本文是7天用Go从零实现分布式缓存GeeCache的第三篇。介绍如何使用 Go 语言标准库 http 搭建 HTTP Server并实现 main 函数启动 HTTP Server 测试 API,代码约60行原创 2024-07-20 18:12:24 · 938 阅读 · 0 评论 -
day2加餐 Go 接口型函数的使用场景
Go 接口型函数的使用场景原创 2024-07-20 14:51:23 · 1047 阅读 · 0 评论 -
day2 单机并发缓存
本文是`7天用Go从零实现分布式缓存GeeCache`的第二篇。- 介绍 `sync.Mutex` 互斥锁的使用,并实现 `LRU` 缓存的并发控制。- 实现 `GeeCache` 核心数据结构 `Group`,缓存不存在时,调用回调函数获取源数据,代码约`150`行原创 2024-07-20 14:37:54 · 1141 阅读 · 0 评论 -
day1 LRU 缓存淘汰策略
本文是`7天用Go从零实现分布式缓存GeeCache教程系列`的第一篇。- 介绍常用的三种缓存淘汰(失效)算法:`FIFO`,`LFU` 和 `LRU`- 实现`LRU `缓存淘汰算法,代码约`80`行原创 2024-07-18 00:26:24 · 701 阅读 · 0 评论 -
day0 序言
而且,针对不同的应用场景,还需要在不同的特性之间权衡,例如,是否需要支持缓存更新?),即通过增加单个节点的计算、存储、带宽等,来提高系统的性能,硬件的成本和性能并非呈线性关系,大部分情况下,分布式系统(水平扩展)是一个更优的选择。天实现,每天完成的部分都是可以独立运行和测试的,就像搭积木一样,每天实现的特性组合在一起就是最终的分布式缓存系统。原创 2024-07-18 00:01:33 · 872 阅读 · 0 评论