Il seguente esempio mostra come creare un'istanza di un client, caricare un'autorità di certificazione per la crittografia in transito e configurare un pool di connessioni.
Vai
import("context""crypto/tls""crypto/x509""errors""fmt""io""time"memorystore"cloud.google.com/go/redis/apiv1"redispb"cloud.google.com/go/redis/apiv1/redispb""github.com/go-redis/redis/v8")// ConnectToDatabase demonstrates how to use go-redis library to connect to a// Memorystore Redis instance.funcConnectToDatabase(wio.Writer,projectID,location,instanceIDstring)error{// Instantiate a Redis administrative clientctx:=context.Background()adminClient,err:=memorystore.NewCloudRedisClient(ctx)iferr!=nil{returnerr}deferadminClient.Close()req:=&redispb.GetInstanceRequest{Name:fmt.Sprintf("projects/%s/locations/%s/instances/%s",projectID,location,instanceID),}instance,err:=adminClient.GetInstance(ctx,req)iferr!=nil{returnerr}fmt.Fprintln(w,instance)// Load CA certcaCerts:=instance.GetServerCaCerts()iflen(caCerts)==0{returnerrors.New("memorystore: no server CA certs for instance")}caCertPool:=x509.NewCertPool()caCertPool.AppendCertsFromPEM([]byte(caCerts[0].Cert))// Setup Redis Connection poolclient:=redis.NewClient(&redis.Options{Addr:fmt.Sprintf("%s:%d",instance.Host,instance.Port),Password:"PASSWORD",PoolSize:1,MinIdleConns:1,PoolTimeout:0,IdleTimeout:20*time.Second,DialTimeout:2*time.Second,TLSConfig:&tls.Config{RootCAs:caCertPool,},})p,err:=client.Ping(ctx).Result()iferr!=nil{returnerr}fmt.Fprintf(w,"Response:\n%s",p)returnnil}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-02-14 UTC."],[],[]]