Redis je in-memory data structure server.
Strings¶
SET user:1:name ‘Jan’ GET user:1:name INCR page:views SETEX session:abc 3600 ‘{…}’
Hashes¶
HSET user:1 name ‘Jan’ email ‘[email protected]’ HGETALL user:1
Lists¶
LPUSH queue:tasks ‘{…}’ RPOP queue:tasks
Sorted Sets¶
ZADD leaderboard 1000 ‘player1’ 950 ‘player2’ ZREVRANGE leaderboard 0 9 WITHSCORES
HyperLogLog¶
PFADD visitors ‘u1’ ‘u2’ ‘u3’ PFCOUNT visitors
Praktické vzory použití¶
Každá Redis datová struktura má specifické use cases. Strings s TTL (SETEX) jsou základ pro session management a cache. Hashes efektivně ukládají objekty — jeden hash pro uživatelský profil místo desítek string klíčů. Lists fungují jako FIFO fronty pro task processing (LPUSH + BRPOP).
Sorted Sets jsou nejunikátnější struktura Redis — umožňují řazené kolekce s O(log N) operacemi. Typické použití zahrnuje leaderboardy, rate limiting (sliding window), priority queues a time-based indexy. HyperLogLog je probabilistická struktura pro počítání unikátních prvků s konstantní pamětí (~12 KB) a maximální chybou 0.81 %. Ideální pro počítání unique visitors nebo distinct values ve streamech.
Redis = mocné struktury¶
Strings=cache, Hashes=objekty, Lists=fronty, ZSets=leaderboardy.