fix(discover): 将废弃的 SETEX 替换为 SET EX 格式(by AI)

Co-Authored-By: deepseek-v4-pro[1m] <deepseek-ai@claude-code-best.win>
This commit is contained in:
AI Engineer 2026-06-22 18:12:00 +08:00
parent 9771b5a067
commit c059b434d2
2 changed files with 6 additions and 3 deletions

View File

@ -1,5 +1,8 @@
# CHANGELOG # CHANGELOG
## v1.5.5 (2026-06-22)
- **Redis 兼容**: 将已废弃的 `SETEX` 命令替换为 `SET key value EX seconds` 格式。
## v1.5.3 (2026-06-21) ## v1.5.3 (2026-06-21)
- **错误堆栈重构**: - **错误堆栈重构**:
- 重构 `js_export.go`,将匿名函数改写为包级具名函数。 - 重构 `js_export.go`,将匿名函数改写为包级具名函数。

View File

@ -114,7 +114,7 @@ func Start(registry, app, addr string, logger *log.Logger, confs ...Config) *Dis
// 注册节点 // 注册节点
if d.serverRedisPool.Do("HSET", d.app, addr, d.config.Weight).Error == nil { if d.serverRedisPool.Do("HSET", d.app, addr, d.config.Weight).Error == nil {
d.serverRedisPool.Do("SETEX", d.app+"_"+addr, 10, "1") d.serverRedisPool.Do("SET", d.app+"_"+addr, "1", "EX", 10)
d.logInfo("registered") d.logInfo("registered")
d.serverRedisPool.PUBLISH("CH_"+d.app, fmt.Sprintf("%s %d", addr, d.config.Weight)) d.serverRedisPool.PUBLISH("CH_"+d.app, fmt.Sprintf("%s %d", addr, d.config.Weight))
d.daemonRunning.Store(true) d.daemonRunning.Store(true)
@ -198,11 +198,11 @@ func (d *Discoverer) daemon() {
if !d.serverRedisPool.Do("HEXISTS", d.app, d.myAddr).Bool() { if !d.serverRedisPool.Do("HEXISTS", d.app, d.myAddr).Bool() {
d.logInfo("lost app registered info, re-registering") d.logInfo("lost app registered info, re-registering")
if d.serverRedisPool.Do("HSET", d.app, d.myAddr, d.config.Weight).Error == nil { if d.serverRedisPool.Do("HSET", d.app, d.myAddr, d.config.Weight).Error == nil {
d.serverRedisPool.Do("SETEX", d.app+"_"+d.myAddr, 10, "1") d.serverRedisPool.Do("SET", d.app+"_"+d.myAddr, "1", "EX", 10)
d.serverRedisPool.PUBLISH("CH_"+d.app, fmt.Sprintf("%s %d", d.myAddr, d.config.Weight)) d.serverRedisPool.PUBLISH("CH_"+d.app, fmt.Sprintf("%s %d", d.myAddr, d.config.Weight))
} }
} else { } else {
d.serverRedisPool.Do("SETEX", d.app+"_"+d.myAddr, 10, "1") d.serverRedisPool.Do("SET", d.app+"_"+d.myAddr, "1", "EX", 10)
} }
} }
case <-d.daemonStopSignal: case <-d.daemonStopSignal: