Her er mønsteret anbefalet af Azure Redis Cache-teamet:
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => {
return ConnectionMultiplexer.Connect("mycache.redis.cache.windows.net,abortConnect=false,ssl=true,password=...");
});
public static ConnectionMultiplexer Connection {
get {
return lazyConnection.Value;
}
}
Et par vigtige punkter:
- Den bruger Lazy
til at håndtere trådsikker initialisering - Den indstiller "abortConnect=false", hvilket betyder, at hvis det indledende forbindelsesforsøg mislykkes, vil ConnectionMultiplexer stille forsøge igen i baggrunden i stedet for at kaste en undtagelse.
- Det gør den ikke tjek IsConnected-egenskaben, da ConnectionMultiplexer automatisk vil prøve igen i baggrunden, hvis forbindelsen afbrydes.