Files
ai_wht_wechat/go_backend/cmd/check_all_locks.go
2026-01-06 19:36:42 +08:00

52 lines
1.1 KiB
Go

package main
import (
"ai_xhs/config"
"ai_xhs/database"
"context"
"fmt"
"log"
)
func main() {
// 加载配置
if err := config.LoadConfig("dev"); err != nil {
log.Fatalf("配置加载失败: %v", err)
}
// 连接Redis
if err := database.InitRedis(); err != nil {
log.Fatalf("Redis连接失败: %v", err)
}
ctx := context.Background()
// 列出所有lock相关的键
fmt.Println("=== 检查所有锁相关的键 ===")
keys, err := database.RDB.Keys(ctx, "lock:*").Result()
if err != nil {
log.Fatalf("查询锁失败: %v", err)
}
if len(keys) > 0 {
fmt.Printf("发现 %d 个锁:\n", len(keys))
for _, key := range keys {
ttl, _ := database.RDB.TTL(ctx, key).Result()
value, _ := database.RDB.Get(ctx, key).Result()
fmt.Printf(" - %s (TTL: %v, Value: %s)\n", key, ttl, value)
}
fmt.Println("\n是否要清除所有锁? (y/n)")
var answer string
fmt.Scanln(&answer)
if answer == "y" || answer == "Y" {
for _, key := range keys {
database.RDB.Del(ctx, key)
}
fmt.Println("✓ 已清除所有锁")
}
} else {
fmt.Println("未发现任何锁")
}
}