Kafo 是一个高性能的轻量级分布式缓存中间件,支持 tcp/http 调用。
- 使用 Gossip 协议进行分布式通信
- 加入一致性哈希,集群每个节点负责独立的数据
- 提供 Get/Set/Delete/Status 几种调用接口
- 提供 HTTP / TCP 两种调用服务
- 支持获取缓存信息,比如 key 和 value 的占用空间
- 引入内存写满保护,使用 TTL 和 LRU 两种算法进行过期
- 引入 GC 机制,随机淘汰过期数据
- 基于内存快照实现持久化功能
历史版本的特性请查看 HISTORY.md。未来版本的新特性和计划请查看 FUTURE.md。
$ go run main.go
场景:10000 个键值对的写入和读取的耗时
环境:R7-4700U CPU @ 2.0 GHZ,16 GB RAM
type | Write | Read |
---|---|---|
http | 689.3ms | 5272.1ms |
tcp | 403.9ms | 387.1ms |
测试详情参考文件 _examples/performance_test.go。
如果您觉得 kafo 缺少您需要的功能,请不要犹豫,马上参与进来,发起一个 issue。
项目 | 作者 | 描述 | 链接 |
---|---|---|---|
logit | FishGoddess | 一个高性能、功能强大且极易上手的日志库 | GitHub / 码云 |
vex | FishGoddess | 一个高性能、且极易上手的网络通信框架 | GitHub / 码云 |