31 lines
470 B
Go
31 lines
470 B
Go
package redis
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
func NewRedis() (*redis.Client, error) {
|
|
addr := os.Getenv("REDIS_ADDR")
|
|
if addr == "" {
|
|
addr = "localhost:6379"
|
|
}
|
|
|
|
rdb := redis.NewClient(&redis.Options{
|
|
Addr: addr,
|
|
})
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
defer cancel()
|
|
|
|
// cek koneksi saat startup
|
|
if err := rdb.Ping(ctx).Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return rdb, nil
|
|
}
|