module
Version:
v0.0.0-...-f3e426d
Opens a new window with list of versions in this module.
Published: Apr 29, 2025
License: Apache-2.0
Opens a new window with license information.
README
¶
EasyCache
EasyCache 是一个基于 极客兔兔分布式缓存 改造而来的项目,相较于原版,做了多项增强和拓展优化。旨在提升整体性能的同时,也兼顾架构设计。
🔧 相比原项目新增的特性
-
支持多种缓存淘汰策略
原项目使用了简单的 LRU 实现,FastCache 在此基础上提供了多种可切换的淘汰算法(如 LRU、LFU、FIFO 等)。不仅方便灵活配置,也利于练习常见缓存算法的实现能力。
-
扩展通信方式由 HTTP 升级为 RPC
将节点间通信方式从 HTTP 改为自定义 RPC 协议,显著提升了通信效率,也为后续拓展和讨论 RPC 框架设计打下基础。
-
更细粒度的并发控制
对原有锁机制进行了细化,降低了锁竞争,提升并发性能,特别适合对性能敏感的分布式环境。
-
引入热点互备机制(Hot Key Backup)
为解决热点 Key 请求集中导致单节点负载过高的问题,借鉴 GroupCache 的设计,引入热点 Key 的副本备份机制,提升系统稳定性与响应能力。
-
接入 etcd 实现动态节点发现与管理
通过接入 etcd,实现了分布式节点的注册、心跳检测、自动上下线等功能。这部分为系统的动态伸缩和高可用能力提供了基础支撑,也能引出一系列实战中的分布式问题。
-
支持缓存过期与自动清理机制
增加了缓存的过期策略,支持按 Key 设置 TTL,并定时清理过期缓存,保持内存占用稳定、可控。
Directories
¶
|
|
|
pkg
|
|
|
|
|
|
|
|
|
|
分布式环境下多节点选择 |
|
|
|
|
|
Package rest 以http的方式实现网络通信 |
Click to show internal directories.
Click to hide internal directories.