Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance store/kv module with caching, TTL support, and batch operations #1288

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

schwefelMe
Copy link

本 PR 为 store/kv 模块引入以下改进:

  • 缓存机制:
    新增基于 LRU 的缓存,提升读操作性能并减少后端存储访问。
    将缓存集成到 Get 和 Set 操作中。
    TTL(生存时间)支持:

  • 新增 TTL 支持的缓存(TTLCache),可自动清理过期的键值对。
    在 Get 和 SetWithTTL 操作中加入 TTL 支持。

  • 批量操作:
    实现 BatchGet 方法,支持高效的多键值批量读取操作。
    详细改动:

新增文件:

store/kv/cache.go:实现 LRU 缓存。
store/kv/ttl.go:实现支持 TTL 的缓存。

修改文件:

store/kv/kv_store.go:将缓存、TTL 和批量操作集成到现有的键值存储逻辑中。
改进优势:

说明

通过缓存机制提升性能。
通过 TTL 自动清理功能优化存储管理。
支持批量操作,提高多键值读取的吞吐量。
测试情况:

为缓存和 TTL 逻辑新增单元测试。
验证批量操作功能的正确性。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant