Search code examples
goredisredigo

Get All keys From redis in go


How to get all keys of Redis in db and store it in list or array in golang using redigo?

redisPool := redis.NewPool(func() (redis.Conn, error) {
    con, err := redis.Dial("tcp", *redisAddress)
    con.Do("SELECT", 0)
    if err != nil {
        return nil, err
    }
    return con, err
}, *maxConnections)
fmt.Println("Redis Connection Established...!")
con := redisPool.Get()

//defer con.Close()
fmt.Println("Redis Connected...!")
//var sl []string = make([]string, len, cap)
var ab interface{}
ab, errA := con.Do("Keys", "*")
fmt.Println(ab)
fmt.Println(errA)

Solution

  • Use the Strings function to convert the result to a slice of strings:

    keys, err := redis.Strings(cn.Do("KEYS", "*"))
    if err != nil {
        // handle error
    }
    for _, key := range keys {
       fmt.Println(key)
    }