RRedis Handbook

UZMAN

Quick Reference Card

Hangi senaryo → hangi Redis yapısı → hangi .NET metodu? Tek bakışta karar ver.

Use Case Redis Yapısı Temel Komut .NET Metodu Bölüm
Basit cache String SET key val EX ttl StringSetAsync(key, val, ttl) String
JSON obje cache String + JSON SET + GET GetOrSetAsync<T> veya HybridCache Caching
Obje field'ları (kısmi update) Hash HSET / HGET / HGETALL HashSetAsync / HashGetAllAsync Hash
Sayaç (view, like) String INCR / INCRBY StringIncrementAsync String
Queue (FIFO) List LPUSH / RPOP ListLeftPushAsync / ListRightPopAsync List
Unique üyelik testi Set SADD / SISMEMBER SetAddAsync / SetContainsAsync Set
Leaderboard / sıralama Sorted Set ZADD / ZREVRANGE SortedSetAddAsync / SortedSetRangeByRankAsync Sorted Set
Session yönetimi Hash + TTL HSET + EXPIRE HashSetAsync + KeyExpireAsync Session
Distributed lock String NX SET lock NX EX StringSetAsync(When.NotExists) Lock
Rate limiting Sorted Set + Lua ZADD + ZREMRANGEBYSCORE ScriptEvaluateAsync Rate Limiting
Event stream (persistent) Stream XADD / XREADGROUP StreamAddAsync / StreamReadGroupAsync Streams
Fire-and-forget notification Pub/Sub PUBLISH PublishAsync Pub/Sub
Unique visitor sayımı HyperLogLog PFADD / PFCOUNT HyperLogLogAddAsync / LengthAsync HyperLogLog
Yakındaki mağazalar Geo GEOADD / GEOSEARCH GeoAddAsync / GeoSearchAsync Geospatial
Hot key koruması Memory + Redis IMemoryCache + IDatabase Client-Side Cache
Multi-instance SignalR Pub/Sub (backplane) AddStackExchangeRedis() SignalR
HTTP response cache String (output cache) AddStackExchangeRedisOutputCache() Output Cache
Atomik multi-komut Lua Script EVAL / EVALSHA ScriptEvaluateAsync Transactions

Ne Zaman Hangi Cache Stratejisi?

Request geldi L1 (Memory) var mı? Dön (0ms) EVET L2 (Redis) var mı? HAYIR L1 yaz, dön (<1ms) EVET DB'den oku HAYIR 1. Lock (stampede koruma) 2. DB query 3. L2'ye yaz (TTL) 4. L1'e yaz (kısa TTL) Dön
Veri Karakteri Strateji Araç
Sık okunan, nadir değişen L1+L2 + event invalidation HybridCache veya ClientSideCacheService
Sık okunan, sık değişen Sadece Redis (kısa TTL) IDistributedCache
Nadiren okunan Sadece DB (cache'leme)
Critical consistency DB + write-through cache Manuel SET after write
Analytics/counter Redis only (no DB) INCR / FireAndForget

Kaynak: Redis Docs · StackExchange.Redis · Redis 8.8 GA · .NET 10 LTS