---
title: "Travel Pricing için Cache Invalidation Patterns"
description: "Hotel ve flight fiyatlarında TTL, event invalidation, stale-while-revalidate ve live reprice sınırlarını production senaryolarıyla tasarlayın."
slug: "travel-pricing-cache-invalidation-patterns"
translationKey: "architecture-travel-pricing-cache-invalidation"
locale: "tr"
type: "guide"
category: "architecture"
tags: ["cache","pricing","freshness","invalidation","revalidation"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
---

Travel pricing cache'inde asıl soru “kaç dakika cache?” değildir. Doğru soru **hangi fiyatın hangi intent seviyesinde ne kadar stale olmasına izin verilebilir?** sorusudur.

## Production senaryosu

Destination discovery ekranı binlerce hotel için indicative price gösteriyor. Kullanıcı detail sayfasına geçtiğinde exact rate bekliyor; booking'e yaklaşınca live reprice gerekir.

## Pattern'ler

### TTL-based

Basit ve güvenilir fallback'tir. Ancak volatility değişkense tek TTL yetersizdir.

### Event-driven invalidation

Supplier price/inventory change event'i geldiğinde ilgili key invalid edilir. Güçlü change-data pipeline ister.

### Stale-while-revalidate

Eski veri kısa süre gösterilirken background refresh yapılır. Discovery için faydalıdır, booking-intent için riskli olabilir.

### Read-through live refresh

Cache miss veya freshness threshold aşıldığında provider çağrılır.

## Cache key

En azından şu context düşünülmeli:

- property/route
- dates
- occupancy
- currency
- market/residency
- room/rate class gerekiyorsa

Yanlış key stale değil, yanlış-context bug'ı üretir.

## Adaptive TTL

Volatile market/date kombinasyonlarında kısa, long-tail veya uzak tarihli inventory'de daha uzun TTL uygulanabilir.

## Failure modes

- invalidation event kaybı,
- stampede,
- stale overwrite,
- wrong cache key,
- provider outage sırasında cache'in topluca expire olması,
- discovery cache'in booking flow'da reuse edilmesi.

## Concurrency

Single-flight/request coalescing kullanarak aynı cache miss için yüzlerce upstream call üretmeyin.

## Observability

- cache hit rate,
- hit age,
- stale-serve rate,
- revalidation latency,
- invalidation lag,
- live-reprice delta,
- stampede count.

## Alternatifler

Düşük hacimde kısa TTL + live reprice yeterli olabilir. Event-driven invalidation ancak source change sinyali güvenilir olduğunda değer üretir.

## Production checklist

- explicit cache key
- intent-based freshness class
- adaptive TTL
- invalidation fallback
- SWR sınırı
- single-flight
- live reprice before transaction
- stale-overwrite protection
