Вот моя инициализация: < /p>
Код: Выделить всё
// Hostname from Azure Cache for Redis
string redisHostname = ".redis.cache.windows.net::6380";
HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
builder.Services.AddStackExchangeRedisCache(options => {
options.ConfigurationOptions = new ConfigurationOptions {
EndPoints = { redisHostname }
};
options.ConnectionMultiplexerFactory = async () => {
await options.ConfigurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential()).ConfigureAwait(false);
options.InstanceName = "MyApp";
return await ConnectionMultiplexer.ConnectAsync(options.ConfigurationOptions).ConfigureAwait(false);
};
});
< /code>
И вот служба, которая использует ее: < /p>
internal class TestService(IDistributedCache cache, ILogger logger) {
public async Task SetItem(string key, string value) {
logger.LogInformation("Set {key}: {value}", key, value);
await cache.SetStringAsync(key, value);
}
public async Task GetItem(string key) {
var value = await cache.GetStringAsync(key);
logger.LogInformation("Read {key}: {value}", key, value);
return value;
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... rediscache
Мобильная версия