kvstore-shared

command
v0.9.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

README

kvstore-shared —— KV 存储

演示 pkg/store/kvstore 让 counter、cooldown、idempotency 跨实例共享状态,从单进程内存升级为多实例一致。

运行

go run ./examples/kvstore-shared

说明

  • 两个「实例」共用 kvstore.NewMemory();生产替换为 Redis 实现的 kvstore.Store
  • counter:负载均衡打到不同实例,配额仍统一计数(示例 3 次限额第 4 次被拒)。
  • cooldown:实例 1 触发冷却,实例 2 无法重复领取。
  • idempotency:实例 1 处理请求,重试打到实例 2 复用结果、不重复执行。
  • 各原语通过 WithStore(store) 注入,业务代码无需改动。

Documentation

Overview

kvstore-shared 示例:让 counter/cooldown/idempotency 跨实例共享状态。

演示 pkg/kvstore:用 WithStore 把三个"有状态"原语的状态存到共享 Store,使其从 "单进程内存"升级为"多实例一致"。本例用内存 Store 模拟(单进程内两个实例共享 同一 Store);生产替换成 Redis 实现的 kvstore.Store 即可(见文件末尾的映射说明)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL