Назначние функций redis

Наткнулся на ресурс. Скопировал Написал все функции что и там и мне кажется все как то просто слишком. Обычно это бывает когда неправильно все понимаю.

Поправьте меня если ошибаюсь

Функция Set(rClient) кэширует данные

Функция Get(rClient) достает данные с кэша?

Если так то в чем подвох, почему так просто выглядит все?

Я нуб и возможно это глупый вопрос.

package main

import (
    "fmt"
    "log"

    "github.com/go-redis/redis"
)

func main() {
    Set(rClient())
    Get(rClient())
    ping(rClient())
}

func rClient() *redis.Client {
    client := redis.NewClient(&redis.Options{
        Addr: "localhost:6379",
    })

    return client
}

func ping(client *redis.Client) error {
    pong, err := client.Ping().Result()
    if err != nil {
        return err
    }
    fmt.Println(pong, err)

    return nil
}

func Set(client *redis.Client) error {
    err := client.Set("name", "maksim", 0).Err()
    if err != nil {
        log.Fatal(err)
    }
    return nil
}

func Get(client *redis.Client) error {
    name, err := client.Get("name").Result()
    if err != nil {
        log.Fatal(err)
    }
    log.Println(name)
    return nil
}

Ответы (1 шт):

Автор решения: Pak Uula

Да, всё именно так просто. Redis - это не-SQL база данных, которая, помимо всего прочего, реализует key-value storage, то есть просто хранит пары (key, value).

Вы в функции Set связываете ключ name со значением maxim, а в функции Get возвращаете значение, связанное с name. Вот и всё. Накаких insert, никаких select.

→ Ссылка