Tanya Jawab Umum pengembangan Azure Cache for Redis

Artikel ini menyediakan jawaban atas pertanyaan umum tentang cara mengembangkan Azure Cache for Redis.

Bagaimana cara memulai Azure Cache for Redis?

Ada beberapa cara untuk memulai Azure Cache for Redis.

Jika Anda belum memiliki akun Azure, Anda dapat:

  • Buka akun Azure secara gratis. Anda mendapatkan kredit yang dapat digunakan untuk mencoba layanan Azure berbayar. Bahkan setelah kredit habis, Anda dapat menyimpan akun dan menggunakan layanan dan fitur Azure gratis.
  • Aktifkan manfaat pelanggan Visual Studio. Langganan MSDN Anda memberi Anda kredit setiap bulan yang dapat Anda gunakan untuk layanan Azure berbayar.

Apa yang dilakukan opsi konfigurasi StackExchange.Redis?

StackExchange.Redis memiliki banyak opsi. Bagian ini membahas tentang beberapa pengaturan umum. Untuk informasi lebih rinci tentang opsi StackExchange.Redis, lihat Konfigurasi StackExchange.Redis.

ConfigurationOptions Deskripsi Rekomendasi
AbortOnConnectFail Bila diatur ke true, koneksi tidak bisa terhubung kembali setelah jaringan gagal. Atur ke false dan biarkan StackExchange.Redis terhubung kembali secara otomatis.
ConnectRetry Waktu yang diperlukan untuk mengulangi upaya koneksi selama penghubungan awal. Lihat catatan berikut untuk panduan.
ConnectTimeout Waktu habis di ms untuk operasi penghubungan. Lihat catatan berikut untuk panduan.

Biasanya nilai default klien cukup. Anda dapat menyempurnakan opsi berdasarkan beban kerja Anda.

Percobaan kembali

  • Untuk ConnectRetry dan ConnectTimeout, panduan umum adalah gagal cepat dan mencoba ulang lagi. Panduan ini didasarkan pada beban kerja Anda dan berapa banyak waktu---rata-rata --- yang diperlukan klien Anda untuk mengeluarkan perintah Redis dan menerima respons.
  • Biarkan StackExchange.Redis secara otomatis terhubung kembali sebagai ganti memeriksa status koneksi dan menghubungkan kembali diri Anda sendiri. Hindari menggunakan properti ConnectionMultiplexer.IsConnected.
  • Snowballing - Anda mungkin mengalami masalah di mana Anda mencoba lagi dan mencoba lagi snowball dan tidak pernah pulih. Jika terjadi snowballing, pertimbangkan untuk menggunakan algoritma backoff retry eksponensial seperti yang dijelaskan dalam Coba lagi panduan umum yang diterbitkan oleh grup Microsoft Patterns & Practices.

Nilai batas waktu

  • Pertimbangkan beban kerja Anda dan atur nilai yang cocok. Jika Anda menyimpan nilai besar, atur batas waktu ke nilai yang lebih tinggi.
  • Atur AbortOnConnectFail ke false dan biarkan StackExchange.Redis terhubung kembali untuk Anda.
  • Gunakan satu instans berumur ConnectionMultiplexer panjang daripada membuat koneksi baru untuk setiap permintaan. Untuk contoh cara mengelola koneksi, lihat kelas `RedisConnection`` di Sambungkan ke cache dengan Redisconnection.
  • Atur ConnectionMultiplexer.ClientName properti ke instans aplikasi nama unik untuk tujuan diagnostik.
  • Gunakan beberapa ConnectionMultiplexer instans untuk beban kerja kustom.
    • Anda dapat mengikuti model ini jika Anda memiliki beban yang bervariasi dalam aplikasi Anda. Contohnya:
    • Anda dapat memiliki satu multiplexer untuk menangani kunci besar.
    • Anda dapat memiliki satu multiplexer untuk menangani kunci kecil.
    • Anda dapat mengatur nilai yang berbeda untuk batas waktu koneksi dan logika coba lagi untuk setiap ConnectionMultiplexer yang Anda gunakan.
    • Atur ClientName properti pada setiap multiplexer untuk membantu diagnostik.
    • Panduan ini dapat menyebabkan latensi yang lebih efisien per ConnectionMultiplexer.

Klien Azure Cache for Redis apa yang bisa saya gunakan?

Salah satu kelebihan Redis adalah ada banyak klien yang mendukung banyak bahasa pengembangan yang berbeda. Untuk daftar klien saat ini, lihat Klien Redis. Untuk tutorial yang mencakup beberapa bahasa dan klien yang berbeda, lihat Cara menggunakan Azure Cache for Redis.

Mengambil nama host, port, dan kunci akses dari portal Azure

Untuk menyambungkan ke server Azure Cache for Redis Anda, klien cache memerlukan nama host, port, dan kunci untuk cache. Beberapa klien mungkin merujuk ke item ini dengan nama yang sedikit berbeda. Anda bisa mendapatkan nama host, port, dan kunci dari portal Azure.

  • Untuk mendapatkan kunci akses, pilih Autentikasi dari menu Sumber Daya. Lalu, pilih tab Kunci akses .

    Kunci Azure Cache for Redis

  • Untuk mendapatkan nama host dan port untuk cache Anda, pilih Gambaran Umum dari menu Sumber Daya. Nama host dalam bentuk <nama DNS>.redis.cache.windows.net.

    Properti Azure Cache for Redis

Apakah ada emulator lokal untuk Azure Cache for Redis?

Tidak ada emulator lokal untuk Azure Cache for Redis. Anda dapat menjalankan versi MSOpenTech redis-server.exe dari alat baris perintah Redis di komputer lokal Anda. Kemudian, hubungkan ke sana untuk mendapatkan pengalaman serupa dengan emulator cache lokal, seperti yang ditunjukkan dalam contoh berikut:

private static Lazy<ConnectionMultiplexer>
    lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
    {
        // Connect to a locally running instance of Redis to simulate
        // a local cache emulator experience.
        return ConnectionMultiplexer.Connect("127.0.0.1:6379");
    });

public static ConnectionMultiplexer Connection
{
    get
    {
        return lazyConnection.Value;
    }
}

Anda dapat secara opsional mengonfigurasi file redis.conf agar lebih cocok dengan pengaturan cache default untuk Azure Cache for Redis jika Anda menginginkannya.

Bagaimana saya dapat menjalankan perintah Redis?

Anda dapat menggunakan salah satu perintah yang tercantum di perintah Redis kecuali untuk perintah yang tercantum di perintah Redis yang tidak didukung di Azure Cache for Redis. Anda memiliki beberapa opsi untuk menjalankan perintah Redis.

Jika Anda memiliki cache Standar atau Premium, Anda dapat menjalankan perintah Redis menggunakan Konsol Redis. Konsol Redis menyediakan cara yang aman untuk menjalankan perintah Redis di portal Microsoft Azure.

Anda juga dapat menggunakan alat baris perintah Redis. Untuk membuatnya, lakukan langkah-langkah berikut:

  1. Unduh alat baris perintah Redis.

  2. Sambungkan ke cache menggunakan redis-cli.exe.

  3. Lewati titik akhir cache menggunakan sakelar -h dan kunci menggunakan -a seperti yang ditunjukkan dalam contoh berikut:

    redis-cli -h <Azure Cache for Redis name>.redis.cache.windows.net -a <key>

Catatan

Alat baris perintah Redis tidak berfungsi dengan port TLS, tetapi Anda dapat menggunakan utilitas seperti stunnel untuk menghubungkan alat dengan aman ke port TLS dengan mengikuti petunjuk dalam artikel Cara menggunakan alat baris perintah Redis dengan Azure Cache for Redis .

Mengapa Azure Cache for Redis tidak memiliki referensi pustaka kelas MSDN?

Microsoft Azure Cache for Redis didasarkan pada penyimpanan data dalam memori sumber terbuka yang populer, Redis. Anda dapat menggunakan berbagai klien Redis untuk banyak bahasa pemrograman. Setiap klien memiliki API sendiri yang melakukan panggilan ke instans Azure Cache for Redis menggunakan perintah Redis.

Karena setiap klien berbeda, Anda tidak dapat menemukan satu referensi kelas terpusat di MSDN. Setiap klien mempertahankan dokumentasi referensinya sendiri. Selain dokumentasi referensi, ada beberapa tutorial yang menunjukkan cara memulai dengan Azure Cache for Redis menggunakan bahasa dan klien cache yang berbeda. Untuk mengakses tutorial ini, lihat Cara menggunakan Azure Cache for Redis dan artikel terkait dalam daftar isi.

Bisakah saya menggunakan Azure Cache for Redis sebagai cache sesi PHP?

Ya, untuk menggunakan Azure Cache for Redis sebagai cache sesi PHP, tentukan string koneksi ke Azure Cache for Redis Anda di session.save_path.

Penting

Saat menggunakan Azure Cache for Redis sebagai cache sesi PHP, Anda harus mengkodekan URL kunci keamanan yang digunakan untuk menghubungkan ke cache seperti yang diperlihatkan dalam contoh berikut:

session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";

Jika kunci tidak dikodekan URL, Anda mungkin menerima pengecualian dengan pesan seperti: Failed to parse session.save_path

Untuk informasi selengkapnya tentang menggunakan Azure Cache for Redis sebagai cache sesi PHP dengan klien PhpRedis, lihat penangan Sesi PHP.

Apa itu database Redis?

Redis Database hanyalah pemisahan data yang logis dalam instans Redis yang sama. Memori cache dibagikan antara semua database dan konsumsi memori aktual dari database tertentu tergantung pada kunci/nilai yang disimpan dalam database tersebut. Misalnya, cache C6 memiliki memori 53 GB, dan P5 memiliki 120 GB. Anda dapat memilih untuk menempatkan semua 53 GB / 120 GB ke dalam satu database atau Anda dapat membaginya di antara beberapa database.

Catatan

Saat menggunakan Premium Azure Cache for Redis dengan pengklusteran diaktifkan, hanya database 0 yang tersedia. Batasan ini adalah batasan Redis intrinsik dan tidak khusus untuk Azure Cache for Redis.

Pelajari tentang Tanya Jawab Umum Azure Cache for Redis lainnya.