command
Version:
v0.9.2
Opens a new window with list of versions in this module.
Published: Aug 28, 2026
License: Apache-2.0
Opens a new window with license information.
Imports: 6
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
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
¶
kvstore-shared 示例:让 counter/cooldown/idempotency 跨实例共享状态。
演示 pkg/kvstore:用 WithStore 把三个"有状态"原语的状态存到共享 Store,使其从
"单进程内存"升级为"多实例一致"。本例用内存 Store 模拟(单进程内两个实例共享
同一 Store);生产替换成 Redis 实现的 kvstore.Store 即可(见文件末尾的映射说明)。
Source Files
¶
Click to show internal directories.
Click to hide internal directories.