52 lines
1.1 KiB
Go
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("未发现任何锁")
|
|
}
|
|
}
|