Commit Graph
5 Commits
Author SHA1 Message Date
二丫讲梵 c69f1352d4 feat(redis): poll full values and track TTL countdowns 2026-07-31 23:11:48 +08:00
二丫讲梵 c697d0c7ad feat(redis): improve key detail auto-refresh and TTL polling 2026-07-31 02:41:26 +08:00
onenewcode 51fa058edb feat(redis): add local expiration modes 2026-07-26 23:33:56 +08:00
二丫讲梵 92b42d559d fix(redis): 优化自动刷新逻辑和显示TTL的计算
- 修改computeAutoRefreshTick函数,简化逻辑判断
- 更新computeDisplayTtl函数,确保倒计时为零时不显示过期的服务器TTL
2026-07-11 20:53:44 +08:00
Abeautifulsnow a5359798dc feat(redis): add auto-refresh countdown for key TTL display
* @
feat(redis): add auto-refresh countdown for Redis key TTL display

在 Redis 值查看器的 TTL 徽章旁增加自动刷新按钮,选中时显示 TTL 实时倒计时
(每秒递减),倒计时归零自动刷新数据,刷新按钮持续旋转。TTL 到期或网络异常
时自动关闭自动刷新避免死循环。

改动:
- RedisValueViewer.vue:新增 autoRefresh 状态、定时器与倒计时逻辑,模板增加
  Clock 切换按钮,RefreshCw 按钮支持 animate-spin 旋转
- load() 内复位倒计时;onBeforeUnmount 清理定时器

修复(review):
- #I01 TTL 到期/连接断开后自动关闭 autoRefresh 避免无限重试
- #C01 load() reject 增加 .catch() 处理 UnhandledPromiseRejection

i18n:zh-CN / zh-TW / en / ja / es / it / pt-BR 7 种语言补充 autoRefresh key
@

* @
test(redis): extract auto-refresh logic and add unit tests

将自动刷新核心决策逻辑提取为 lib/redis/redisAutoRefresh.ts 纯函数模块,
并编写 11 个单元测试覆盖状态机转换、TTL 显示计算和自动停止条件。

新增:
- lib/redis/redisAutoRefresh.ts:computeAutoRefreshTick / shouldStopAutoRefresh /
  computeDisplayTtl 纯函数
- lib/__tests__/redis/redisAutoRefresh.spec.ts:11 个测试用例

重构:
- RedisValueViewer.vue 改用提取后的纯函数,确保测试覆盖即实际运行逻辑
@
2026-07-08 15:37:27 +08:00