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?
| 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