Redis — in-memory хранилище данных, работающее как key-value база, кеш и брокер сообщений. Всё хранится в оперативной памяти, поэтому операции занимают микросекунды.
Основные структуры: strings, hashes, lists, sets, sorted sets, streams. Типичные применения: кеширование (TTL), сессии, rate limiting (INCR + EXPIRE), очереди задач (LPUSH/BRPOP), pub/sub, лидерборды (sorted sets).
В Go работают через go-redis/redis:
rdb := redis.NewClient(&redis.Options{Addr: "localhost:6379"})
rdb.Set(ctx, "key", "value", 5*time.Minute)
val, _ := rdb.Get(ctx, "key").Result()
Redis однопоточный (для команд), поэтому отдельные операции атомарны. Для сложных атомарных операций используй Lua-скрипты.