Redis
 sql >> Database >  >> NoSQL >> Redis

Come caricare in sicurezza un hash e convertire un valore in un booleano se esiste

Supponendo che tu stia utilizzando il popolare pacchetto github.com/go-redis/redis, il valore restituito da HGetAll(key).Result() è una map[string]string (doc). L'espressione someMap["has_ended"] restituisce la stringa vuota se la chiave non è presente.

Se hasEnded è true se e solo se la chiave è presente con il valore "true", utilizzare quanto segue:

 hasEnded := someMap["has_ended"] == "true"

Usa strconv.ParseBool per gestire un intervallo più ampio di valori possibili (1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False):

 hasEnded, err := strconv.ParseBool(someMap["has_ended"])
 if err != nil {
     // handle invalid value or missing value, possibly by setting hasEnded to false
 }