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.
Içerir: Barındırma tümleştirmesi —&
Client tümleştirme
.NET Aspire
Redis çıktı önbelleğe alma tümleştirmesini kullanmayı öğrenin.
Aspire.StackExchange.Redis.OutputCaching
istemci entegrasyonu, ASP.NET Core Çıktı Önbelleğe Alma sağlayıcısını, bir Redis üzerinde docker.io/library/redis
ile bir sunucu tarafından desteklenen olarak kaydetmek için kullanılır.
.NET Aspire
Redis çıktı önbelleğe alma tümleştirmesini kullanmayı öğrenin.
Aspire.StackExchange.Redis.OutputCaching
istemci tümleştirmesi, bir ASP.NET Core sunucusu tarafından desteklenen kapsayıcı görüntüsüyle bir sağlayıcısını kaydetmek için kullanılır.
.NET Aspire
Redis çıktı önbelleğe alma tümleştirmesini kullanmayı öğrenin.
Barındırma entegrasyonu
Redis barındırma entegrasyonu, Redis kaynağını RedisResource türü olarak modeller. Bu türe ve API'lere erişmek ve bunları uygulama konak projenizde kaynak olarak ifade etmek için 📦Aspire.Hosting.Redis NuGet paketini ekleyin.
dotnet add package Aspire.Hosting.Redis
Daha fazla bilgi için bkz. dotnet add package veya .NET uygulamalarında paket bağımlılıklarını yönetme.
Redis kaynağı ekleme
Uygulama ana bilgisayar projenizde, AddRedis kaynağını eklemek için builder
örneği üzerinde Redis çağrısını yapın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
.NET
.NET Aspire, önceki örnekte docker.io/Redis/Redis
görüntüsüyle gösterildiği gibi uygulama konağına bir kapsayıcı görüntüsü eklediğinde, yerel makinenizde yeni bir Redis örneği oluşturur.
Redis'ye, cache
kaynağınıza (ExampleProject
değişkeni) bir başvuru eklenir.
WithReference yöntemi, ExampleProject
adlı bir bağlantıyı "cache"
olarak yapılandırır. Daha fazla bilgi için bkz. Konteyner kaynak yaşam döngüsü.
Bahşiş
Mevcut bir Redis örneğine bağlanmayı tercih ederseniz bunun yerine AddConnectionString'ı arayın. Daha fazla bilgi için bkz. Var olan kaynaklara başvurma.
Redis kaynağını Redis Insights ile ekle
Redis kaynağına eklemek için Redis yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithRedisInsight();
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Redis Insights, yapay zeka yardımcımız Redis Copilot'un yardımıyla tüm işletim sistemlerinde ve Redis dağıtımlarında Redis verileri analiz etmek için ücretsiz bir grafik arabirimdir.
.NET
.NET Aspire, commander uygulamasını çalıştıran uygulama konağına başka bir kapsayıcı görüntüsü docker.io/redis/redisinsight
ekler.
Not veya Bilgi
RedisInsightResource
zinciri için konak bağlantı noktasını yapılandırmak için WithHostPort
API'sine bir çağrı yapın ve istenen bağlantı noktası numarasını sağlayın.
Redis kaynağını Redis Commander ile ekle
Redis kaynağına eklemek için Redis yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithRedisCommander();
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Redis Commander, Node.js Veritabanını görüntülemek, düzenlemek ve yönetmek için kullanılan Redis bir web uygulamasıdır.
.NET
.NET Aspire, commander uygulamasını çalıştıran uygulama konağına başka bir kapsayıcı görüntüsü docker.io/rediscommander/redis-commander
ekler.
Bahşiş
RedisCommanderResource zinciri için konak bağlantı noktasını yapılandırmak için WithHostPort API'sine bir çağrı yapın ve istenen bağlantı noktası numarasını sağlayın.
Veri birimiyle Redis kaynağı ekleme
Redis kaynağına veri birimi eklemek için WithDataVolume kaynağında Redis yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Veri hacmi, Redis verilerini kapsayıcısının yaşam döngüsü dışında kalıcı hale getirmek için kullanılır. Veri birimi, /data
kapsayıcısının Redis yoluna bağlanır ve name
parametresi sağlanmazsa ad rastgele oluşturulur. Daha fazla bilgi için ve veri hacimlerinin bağlama noktalarına neden tercih edildiğine dair ayrıntılar için Docker belgeleri: Volumes'e bakın.
Veri bağlama ile Redis kaynağı ekleme
Redis kaynağına veri bağlaması eklemek için WithDataBindMount yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataBindMount(
source: @"C:\Redis\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Önemli
Veri
Kapsayıcı yeniden başlatmalarında Redis verilerini kalıcı hale getirmek için veri bağlama işlemleri, konak makinenin dosya sistemine dayanır. Veri bağlaması, C:\Redis\Data
kapsayıcısında, konak makinedeki Windows üzerindeki /Redis/Data
yoluna (veya Unixüzerindeki Redis yoluna) bağlanır. Veri bağlama noktaları hakkında daha fazla bilgi için bkz. Docker kılavuzları: bağlama noktaları.
Kalıcı olacak şekilde Redis kaynağı ekle
Redis kaynağına kalıcılık eklemek için WithPersistence yöntemini veri birimi veya veri bağlaması ile çağırın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Yukarıdaki kod, belirli bir aralıkta ve eşikte Redis verilerinin anlık görüntülerini alarak Redis kaynağına kalıcılık ekler.
interval
, anlık görüntü dışa aktarımlar arasındaki süredir ve keysChangedThreshold
, bir anlık görüntüyü tetiklemek için gereken önemli değişiklik işlemlerinin sayısıdır. Kalıcılık hakkında daha fazla bilgi için bkz. Redis belgeler: Kalıcılık.
Garnet entegrasyonu, bir Garnet kaynağını GarnetResource türü olarak modellemektedir. Bu tür ve API'lere erişmek ve onları 📦Aspire.Hosting.Garnet NuGet paketine uygulama konağı projesinde eklemek için.
dotnet add package Aspire.Hosting.Garnet
Daha fazla bilgi için bkz. dotnet add package veya .NET uygulamalarında paket bağımlılıklarını yönetme.
Garnet kaynağı ekleme
Uygulama ana bilgisayar projenizde, Garnet kaynağı eklemek için AddGarnet'ı builder
örneği üzerinde çağırın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
.NET
.NET Aspire, önceki örnekte ghcr.io/microsoft/garnet
görüntüsüyle gösterildiği gibi uygulama konağına bir kapsayıcı görüntüsü eklediğinde, yerel makinenizde yeni bir Garnet örneği oluşturur.
cache
değişkeni olan Garnet kaynağınıza bir başvuru, ExampleProject
'e eklenir.
WithReference yöntemi, ExampleProject
adlı bir bağlantıyı "cache"
olarak yapılandırır. Daha fazla bilgi için bkz. Konteyner kaynak yaşam döngüsü.
Bahşiş
Mevcut bir Garnet örneğine bağlanmayı tercih ederseniz bunun yerine AddConnectionString'ı arayın. Daha fazla bilgi için bkz. Var olan kaynaklara başvurma.
Veri hacmi ile Garnet kaynağı ekle
Garnet kaynağına veri hacmi eklemek için Garnet kaynağında AddGarnet yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Veri hacmi, Garnet verilerini kapsayıcısının yaşam döngüsü dışında kalıcı hale getirmek için kullanılır. Veri birimi Garnet kapsayıcısında /data
yoluna bağlanır ve name
parametresi sağlanmadığında ad rastgele oluşturulur. Daha fazla bilgi için ve veri hacimlerinin bağlama noktalarına neden tercih edildiğine dair ayrıntılar için Docker belgeleri: Volumes'e bakın.
Veri bağlama noktası ile Garnet kaynağı ekleme
Garnet kaynağına bir veri bağlama bağlaması eklemek için WithDataBindMount yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataBindMount(
source: @"C:\Garnet\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Önemli
Veri
Veri bağlama montajları, kapsayıcı yeniden başlatıldığında Garnet verilerini kalıcı hale getirmek için ana makinenin dosya sistemine güvenir. Veri bağlama noktası, Garnet kapsayıcısında, konak makinede bulunan Windows'taki C:\Garnet\Data
yoluna (veya /Garnet/Data
üzerindeki Unix yoluna) bağlanır. Veri bağlama noktaları hakkında daha fazla bilgi için bkz. Docker kılavuzları: bağlama noktaları.
Kalıcılığı olan bir Garnet kaynağı ekle
Garnet kaynağına kalıcılık eklemek için veri birimi veya veri bağlama noktası olarak WithPersistence yöntemini çağırın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Yukarıdaki kod, Garnet verilerinin belirli bir aralıkta ve eşikte anlık görüntülerini alarak Redis kaynağına kalıcılık ekler.
interval
, anlık görüntü dışa aktarımlar arasındaki süredir ve keysChangedThreshold
, bir anlık görüntüyü tetiklemek için gereken önemli değişiklik işlemlerinin sayısıdır. Kalıcılık hakkında daha fazla bilgi için bkz. Redis belgeler: Kalıcılık.
Valkey barındırma entegrasyonu, Valkey kaynağını ValkeyResource türü olarak modellemektedir. Bu tür ve 📦Aspire.Hosting.Valkey NuGet paketini uygulama konağı projesine eklemenize olanak sağlayan API'lere erişmek için.
dotnet add package Aspire.Hosting.Valkey
Daha fazla bilgi için bkz. dotnet add package veya .NET uygulamalarında paket bağımlılıklarını yönetme.
Valkey kaynağı ekleme
Uygulama ana bilgisayar projenizde, bir Valkey kaynağı eklemek için AddValkey'ı builder
örneğinde çağırın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
.NET
.NET Aspire bir kapsayıcı görüntüsünü uygulama konağına eklediğinde, önceki örnekte gösterildiği gibi docker.io/valkey/valkey
görüntüsüyle birlikte yerel makinenizde yeni bir Valkey örneği oluşturur.
cache
'e, Valkey kaynağınıza (ExampleProject
değişkeni) bir referans eklenir.
WithReference yöntemi, ExampleProject
adlı bir bağlantıyı "cache"
olarak yapılandırır. Daha fazla bilgi için bkz. Konteyner kaynak yaşam döngüsü.
Bahşiş
Mevcut bir Valkey örneğine bağlanmayı tercih ederseniz bunun yerine AddConnectionString'ı arayın. Daha fazla bilgi için bkz. Var olan kaynaklara başvurma.
Veri hacmi ile Valkey kaynağını ekleyin
Valkey kaynağına veri birimi eklemek için Valkey kaynağında AddValkey yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Veri hacmi, Valkey verilerini kapsayıcısının yaşam döngüsü dışında kalıcı hale getirmek için kullanılır. Veri hacmi Valkey kapsayıcısında /data
yoluna bağlanır ve name
parametresi sağlanmadığında ad rastgele oluşturulur. Daha fazla bilgi için ve veri hacimlerinin bağlama noktalarına neden tercih edildiğine dair ayrıntılar için Docker belgeleri: Volumes'e bakın.
Veri bağlama noktasıyla Valkey kaynağı ekle
Valkey kaynağına veri bağlaması eklemek için WithDataBindMount yöntemini çağırın:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataBindMount(
source: @"C:\Valkey\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Önemli
Veri
Valkey verilerini kapsayıcılar yeniden başlatıldığında kalıcı hale getirmek için, veri bağlama bağlantıları konak makinenin dosya sistemine dayanır. Veri bağlama noktası, Valkey kapsayıcısında konak makinede Windows üzerindeki C:\Valkey\Data
yoluna (veya /Valkey/Data
üzerindeki Unix yoluna) monte edilir. Veri bağlama noktaları hakkında daha fazla bilgi için bkz. Docker kılavuzları: bağlama noktaları.
Valkey kaynağını kalıcılıkla ekle
Valkey kaynağına kalıcılık eklemek için, veri birimi veya veri bağlaması ile WithPersistence yöntemini çağırın.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Yukarıdaki kod, Belirli bir aralıkta ve eşikte Valkey verilerinin anlık görüntülerini alarak Redis kaynağına kalıcılık ekler.
interval
, anlık görüntü dışa aktarımlar arasındaki süredir ve keysChangedThreshold
, bir anlık görüntüyü tetiklemek için gereken önemli değişiklik işlemlerinin sayısıdır. Kalıcılık hakkında daha fazla bilgi için bkz. Redis belgeler: Kalıcılık.
Barındırma entegrasyon sağlık denetimleri
Redis barındırma tümleştirmesi, uygun kaynak türü için otomatik olarak bir sistem durumu denetimi ekler. Sistem durumu denetimi sunucunun çalıştığını ve bu sunucuyla bağlantı kurulabileceğini doğrular.
Barındırma tümleştirmesi 📦 AspNetCore.HealthChecks.Redis NuGet paketine dayanır.
Client entegrasyonu
.NET Aspire Stack Exchange Redis çıktı önbelleğe alma istemcisi entegrasyonuna başlamak için, çıktı önbelleğe alma istemcisini kullanan uygulama projesine 📦Aspire.StackExchange.Redis.OutputCaching NuGet paketini yükleyin. Redis çıkış önbelleğe alma istemci bütünleştirmesi, CacheOutput yöntem çağrıları ve [OutputCache] öznitelik kullanımını önbellek mekanizması olarak Redis üzerine kurmak için gerekli hizmetleri kaydeder.
dotnet add package Aspire.StackExchange.Redis.OutputCaching
Çıktı verisini önbelleğe almayı ekle
İstemci kullanan projenizin Program.cs dosyasında, çıktı önbelleği için gerekli hizmetleri kaydetmek üzere herhangi bir AddRedisOutputCache üzerinde IHostApplicationBuilder uzantı metodunu çağırın.
builder.AddRedisOutputCache(connectionName: "cache");
Bahşiş
connectionName
parametresi, uygulama ana bilgisayar projesine Redis kaynağı eklerken kullanılan adla eşleşmelidir. Daha fazla bilgi için bkz. kaynak ekleme Redis.
Bahşiş
connectionName
parametresi, uygulama ana bilgisayar projesine Garnet kaynağını eklerken kullanılan adla eşleşmelidir. Daha fazla bilgi için Garnet Kaynağı Eklekısmına bakın.
Bahşiş
connectionName
parametresi, uygulama ana bilgisayar projesine Valkey kaynağı eklenirken kullanılan adla eşleşmelidir. Daha fazla bilgi için Valkey kaynağı eklebölümüne bakın.
ara yazılımı UseOutputCache(IApplicationBuilder)çağırarak istek işleme işlem hattına ekleyin:
var app = builder.Build();
app.UseOutputCache();
app.MapGet("/cached", () => "Hello world!")
.CacheOutput();
app.MapGet(
"/attribute",
[OutputCache] () => "Hello world!");
Denetleyicili uygulamalar için eylem yöntemine [OutputCache]
özniteliğini uygulayın. Razor Pages uygulamaları için Razor sayfa sınıfına özniteliği uygulayın.
Konfigürasyon
.NET Aspire Stack Exchange Redis çıktı önbelleğe alma tümleştirmesi, projenizin gereksinimlerine ve kurallarına göre Redis bağlantısını yapılandırmak için birden çok seçenek sağlar.
Bağlantı dizesi kullanma
ConnectionStrings
yapılandırma bölümünden bir bağlantı dizesi kullanırken, AddRedisOutputCacheçağırırken bağlantı dizesinin adını sağlayabilirsiniz:
builder.AddRedisOutputCache(connectionName: "cache");
Ardından bağlantı dizesi ConnectionStrings
yapılandırma bölümünden alınır:
{
"ConnectionStrings": {
"cache": "localhost:6379"
}
}
Bu bağlantı dizesini biçimlendirme hakkında daha fazla bilgi için
Yapılandırma sağlayıcılarını kullanma
.NET Aspire Stack Exchange Redis çıktı önbellek entegrasyonu, Microsoft.Extensions.Configurationdestekler.
StackExchangeRedisSettings anahtarını kullanarak yapılandırmadan Aspire:StackExchange:Redis
yükler. Bazı seçenekleri yapılandıran örnek appsettings.json:
{
"Aspire": {
"StackExchange": {
"Redis": {
"ConfigurationOptions": {
"ConnectTimeout": 3000,
"ConnectRetry": 2
},
"DisableHealthChecks": true,
"DisableTracing": false
}
}
}
}
Eksiksiz çıkı önbellek istemcisi tümleştirme şeması için Redis bkz. JSONAspire.StackExchange.Redis.OutputCaching/ConfigurationSchema.json.
Satır içi temsilcileri kullan
Ayrıca Action<StackExchangeRedisSettings> configurationSettings
temsilcisini geçirerek bazı veya tüm seçenekleri doğrudan ayarlayabilirsiniz, örneğin, kodu kullanarak sağlık kontrollerini devre dışı bırakmak için:
builder.AddRedisOutputCache(
"cache",
static settings => settings.DisableHealthChecks = true);
ConfigurationOptions'ı, Action<ConfigurationOptions> configureOptions
yöntemi için temsilci parametresini kullanarak da ayarlayabilirsiniz. Örneğin, bağlantı zaman aşımını ayarlamak için:
builder.AddRedisOutputCache(
"cache",
static settings => settings.ConnectTimeout = 3_000);
Client entegrasyon sağlık kontrolleri
Varsayılan olarak, .NET.NET Aspireistemci tümleştirmeleri tüm hizmetler için sağlık kontrolleri etkinleştirilmiştir. Benzer şekilde, birçok .NET.NET Aspirebarındırma entegrasyonu sağlık kontrol uç noktalarını da etkinleştirir. Daha fazla bilgi için bkz:
- C#'de .NET uygulama sağlık kontrolleri
- ASP.NET Core 'da sağlık denetimleri
.NET Aspire Stack Exchange Redis çıktı önbelleğe alma tümleştirmesi aşağıdakileri işler:
-
StackExchangeRedisSettings.DisableHealthChecks,
false
olduğunda kapsayıcı örneğine bağlanmayı deneyen sağlık kontrolünü ekler. - Uygulamanın trafiği kabul etmeye hazır olarak kabul edilmesi için tüm kayıtlı sistem durumu denetimlerinin geçmesi gerektiğini belirten
/health
HTTP uç noktasıyla tümleşir.
Gözlemlenebilirlik ve telemetri
.NET
.NET Aspire entegrasyonları, otomatik olarak, bazen gözlemlenebilirlik sütunları olarak bilinen Günlükleme, İzleme ve Ölçümleme yapılandırmalarını ayarlar. Tümleştirme gözlemlenebilirliği ve telemetri hakkında daha fazla bilgi için bkz.
Kayıt tutma
.NET Aspire Stack Exchange Redis önbelleğe alma çıktı tümleştirmesi aşağıdaki günlük kategorilerini kullanır:
Aspire.StackExchange.Redis
Microsoft.AspNetCore.OutputCaching.StackExchangeRedis
İz sürme
.NET Aspire Stack Exchange Redis çıkış önbelleği tümleştirmesi, OpenTelemetrykullanarak aşağıdaki İzleme etkinliklerini üretecek:
OpenTelemetry.Instrumentation.StackExchangeRedis
Ölçüm
.NET Aspire Stack Exchange Redis çıktı önbelleğe alma tümleştirmesi şu anda StackExchange.Redis
kitaplığıyla ilgili sınırlamalar nedeniyle ölçümleri varsayılan olarak desteklememektedir.
Ayrıca bkz.
*: Redis, Redis Ltd. şirketinin tescilli ticari markasıdır. Buradaki tüm haklar Redis Ltd.'ye aittir. Microsoft'un herhangi bir kullanımı yalnızca bilgi amaçlıdır ve Redis ile Microsoft arasında herhangi bir sponsorluk, onay veya ilişki olduğunu göstermez. En üstdön?
.NET Aspire