Skip to content

driftingboy/localcache

Repository files navigation

localcache

localcache 是一个分布式缓存系统,参考 groupcache,将在其基础上引入 节点增删、缓存失效、发布订阅等功能

使用案例 1.启动服务

cd ./localcache/server
make run

2.测试服务

curl "http://localhost:8001/cache/db1/1" && \
curl "http://localhost:8002/cache/db1/2" && \
curl "http://localhost:8003/cache/db1/3"

服务端维护路由信息,简单,但有单点问题 image

客户端维护,复杂 image

当然两者可以结合使用

groupcache中每个节点都是相同的代码,即有分片路由能力,也保存缓存数据;这就导致路由信息保存在多个地方,不好维护,所以groupcache也没有提供增删节点的操作 image

整个查询流程如下: 接收 key --> 检查是否被缓存 -----> 返回缓存值 ⑴ | 否 是 |-----> 是否应当从远程节点获取 -----> 与远程节点交互 --> 返回缓存值 ⑵ | 否 |-----> 调用回调函数,获取值并添加到缓存 --> 返回缓存值 ⑶

About

本地缓存管理

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published