Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API oluşturucusu, önbellek davranışını etkilemek için uzun süredir bellek içi önbellek ve önbellekle ilgili HTTP isteği üst bilgilerini no-storeno-cacheonly-if-cached desteklemektedir.L1
Düzey 2 (L2) önbelleği, dağıtılmış bir önbellek katmanı ekleyerek önbelleğe almayı yerel işlemin ötesine genişletir. ile L2, önbelleğe alınan sonuçlar birden çok DAB örneğinde yeniden kullanılabilir ve tek tek kapsayıcı yeniden başlatmalarından kurtulabilir ve bu da durum bilgisi olmayan dağıtımların doğru yollarla daha az durum bilgisi olmasını sağlar.
Düzey 2 önbelleğinin avantajları
Şunu yapmak istediğinizde düzey 2 önbelleğini kullanın:
- Önbelleğe alınan sonuçları ölçeği genişletilmiş DAB örnekleri arasında paylaşma
- Yinelenen okumalar için veritabanı gidiş dönüşlerini azaltma
- Durum bilgisi olmayan kapsayıcıları geri dönüşüm veya yeniden dağıtıldıktan sonra sıcak tutun
- Yoğun okunan iş yükleri için performansı geliştirme
- Bölümlere ad alanı önbelleği katılımı
Çalışma zamanı önbellek ayarlarını yapılandırma
Düzey 2 önbelleği altında runtime.cachegenel olarak yapılandırılır. Çalışma zamanı önbellek bloğu önbelleğe almayı etkinleştirir, varsayılan yaşam süresini (TTL) ayarlar ve dağıtılmış önbellek sağlayıcısını yapılandırır.
{
"runtime": {
"cache": {
"enabled": true,
"ttl-seconds": 30,
"level-2": {
"enabled": true,
"provider": "redis",
"connection-string": "localhost:6379",
"partition": "prod-api"
}
}
}
}
Çalışma zamanı özellikleri
| Mülkiyet | Açıklama |
|---|---|
enabled |
Önbellek desteğini genel olarak etkinleştirir. |
ttl-seconds |
Varsayılan önbellek yaşam süresini saniyeler içinde ayarlar. |
level-2.enabled |
Dağıtılmış önbellek katmanını açar. |
level-2.provider |
Dağıtılmış önbellek sağlayıcısını seçer. Şu anda redis desteklenmektedir. |
level-2.connection-string |
Redis örneği için bağlantı dizesi. |
level-2.partition |
Redis anahtarları ve arka plan kanalı için isteğe bağlı ad alanı. Yalnızca aynı bölümü kullanan kapsayıcılar aynı dağıtılmış önbellek alanını paylaşır. |
Varlığa özgü önbellek davranışını yapılandırma
Varlıklar genel önbellek davranışını geçersiz kılabilir. Önbelleğe almayı etkinleştirmek, özel bir TTL ayarlamak ve önbellek düzeyini seçmek için varlık cache bloğunu kullanın.
{
"entities": {
"Products": {
"source": "dbo.Products",
"cache": { "enabled": true, "ttl-seconds": 120, "level": "L1L2" }
},
"Orders": {
"source": "dbo.Orders",
"cache": { "enabled": true, "level": "L1" }
}
}
}
cache.level özelliği
Bir varlığın hangi önbellek katmanlarını kullandığını denetlemek için kullanın cache.level .
| Değer | Açıklama |
|---|---|
L1 |
Yalnızca bellek içi önbellek. Geçerli DAB işlemi için hızlı ve yerel. |
L1L2 |
Bellek içi ve dağıtılmış önbellek. Bu düzey, önbelleğe alınan varlıklar için varsayılan değerdir. |
Genel olarak etkinleştirilmemişse L2 , ile L1L2 yapılandırılan bir varlık olarak L1davranır.
Nasıl L1L2 çalışır?
Tavsiye
TL; DRL1L2 = L1 → L2 → veritabanı → L2 → L1 → Yanıtı → isteği
Varsayılan olarak, önbelleğe alma özelliği etkinleştirilmiş bir varlık düzeyi L1L2kullanır.
-
L1bellek içi işlem başına önbellektir. -
L2, şu anda Redis olan dağıtılmış önbellek katmanının yanı sıra örnekler arası tutarlılık için bir geri düzlemdir.
L1L2 ile, bir önbellek araması önce L1'yi denetler. Bir L1 yanıtsız olduğunda düzey 2 önbelleğinin genel olarak etkinleştirilip etkinleştirilmediğini ve yapılandırılıp yapılandırılmamış olduğunu denetler L2 . Girdi her iki katmanda da bulunamazsa DAB veritabanı sorgusunu yürütür. Sonuç daha sonra hem hem L2de L1 içinde depolanır.
Bu da şu anlama gelir:
- Aynı örnekteki gelecekteki istekler yerelden sunulur
L1 - Diğer örneklerdeki istekler girdiyi
L2okuyabilir ve kendi girişlerine yükseltebilirL1 - Kapsayıcı yeniden başlatılırsa,
L1bir isabetin ardındanL2gelen bir isabet yine de veritabanı gidiş dönüşünü önleyebilir
Bu bileşim, ölçeği genişletilmiş veya geri dönüştürülmüş örnekler arasında sıcak bir dağıtılmış önbellek sağlar.
Redis desteği
Redis, 2. düzey önbelleğin geçerli sağlayıcısıdır. Aşağıdakiler desteklendiği için bu senaryo için uygundur:
- Birden çok DAB örneği arasında paylaşılan erişim
- TTL tabanlı önbelleğe alma için anahtar süre sonu
- Yüksek aktarım hızına sahip iş yükleri için hızlı okuma ve yazma işlemleri
- Örnekler arasında arka plan koordinasyonu
Bölümlenmiş önbellek alanları
Dağıtılmış önbellek etkinliğini yalıtmak için isteğe bağlı partition ayarını kullanın. DAB, redis anahtarlarının ad alanı ve arka plan kanalı için bölüm değerini kullanır. Yalnızca aynı bölümü paylaşan kapsayıcılar aynı dağıtılmış önbellek alanına katılır.
Bu ayar, aşağıdaki durumlarda kullanışlıdır:
- Üretim ve üretim dışı trafiği ayırma
- Kiracıları veya ortamları yalıtma
- İlişkili olmayan hizmetlerin önbelleğe alınmış girdileri paylaşmasını engelleme