Berikut adalah pola yang disarankan, dari dokumentasi Azure Redis Cache:
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;
}
}
Beberapa poin penting:
- Ini menggunakan Lazy
untuk menangani inisialisasi thread-safe - Ini menyetel "abortConnect=false", yang berarti jika upaya koneksi awal gagal, ConnectionMultiplexer akan mencoba lagi secara diam-diam di latar belakang daripada melemparkan pengecualian.
- Memang tidak periksa properti IsConnected, karena ConnectionMultiplexer akan secara otomatis mencoba lagi di latar belakang jika koneksi terputus.