38 lines
		
	
	
		
			638 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			638 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package redis
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"github.com/redis/rueidis"
 | 
						|
	"os"
 | 
						|
)
 | 
						|
 | 
						|
var Client *rueidis.Client
 | 
						|
 | 
						|
func InitClient(ctx context.Context) error {
 | 
						|
	var err error
 | 
						|
	host := os.Getenv("REDIS_HOST")
 | 
						|
	//host := "redis"
 | 
						|
	port := os.Getenv("REDIS_PORT")
 | 
						|
	password := os.Getenv("REDIS_PASSWORD")
 | 
						|
 | 
						|
	client, err := rueidis.NewClient(rueidis.ClientOption{
 | 
						|
		InitAddress: []string{host + ":" + port},
 | 
						|
		Password:    password,
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	err = client.Do(ctx, client.B().Ping().Build()).Error()
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	Client = &client
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func CloseClient() {
 | 
						|
	if Client != nil {
 | 
						|
		(*Client).Close()
 | 
						|
	}
 | 
						|
}
 |