This commit is contained in:
2025-12-16 10:13:24 +08:00
parent 0d8f5b9600
commit 1b6f63e6ac
4 changed files with 466 additions and 27 deletions
+2 -13
View File
@@ -1,20 +1,15 @@
package redisclient
import (
"authorization/helper"
"context"
"fmt"
"os"
"time"
"github.com/redis/go-redis/v9"
)
var RDB *redis.Client
// RedisCircuitBreaker protects Redis operations
var RedisCircuitBreaker *helper.CircuitBreaker
func Init() {
redisHost := os.Getenv("REDIS_HOST")
if redisHost == "" {
@@ -42,15 +37,9 @@ func Init() {
RDB = redis.NewClient(opts)
// Initialize circuit breaker
RedisCircuitBreaker = helper.NewCircuitBreaker("redis", 5, 2*time.Second)
// Test connection with authentication using circuit breaker
// Test connection with authentication
ctx := context.Background()
err := RedisCircuitBreaker.Call(func() error {
_, err := RDB.Ping(ctx).Result()
return err
})
_, err := RDB.Ping(ctx).Result()
if err != nil {
panic(fmt.Sprintf("Could not connect to Redis: %v", err))
}