Sobes.tech
Senior

Tell me more about Redis: what kind of directories are there, what data is stored there?

sobes.tech AI

Answer from AI

Redis is a high-performance in-memory data store, often used as a cache, message broker, or database supporting various data structures.

In the context of Redis, "dictionaries" usually refer to data sets used for quick lookup and matching, such as user directories, product catalogs, settings, etc. In Redis, such data can be stored in different structures:

  • Strings — for simple values, such as tokens or counters.
  • Hashes — for storing objects with fields, such as user profiles.
  • Lists — ordered collections, such as task queues.
  • Sets — unique elements, such as tags or groups.
  • Sorted Sets — sets with priority, such as ratings.

An example of storing a user directory in Redis using hashes:

// Example in Go using go-redis
import (
    "github.com/go-redis/redis/v8"
    "context"
)

ctx := context.Background()
rdb := redis.NewClient(&redis.Options{Addr: "localhost:6379"})

// Adding a user
rdb.HSet(ctx, "user:1001", map[string]interface{}{ "name": "Ivan", "email": "ivan@example.com" })

// Retrieving user data
userData, err := rdb.HGetAll(ctx, "user:1001").Result()
if err != nil {
    // handle error
}

fmt.Println(userData["name"]) // Ivan

Thus, Redis allows efficient storage and quick retrieval of reference data, which is especially useful for high-load systems.