Cara bekerja dengan Redis Cache di .NET

Caching adalah strategi manajemen status yang dapat digunakan untuk meningkatkan kinerja aplikasi Anda karena membantu Anda mengurangi konsumsi sumber daya di sistem Anda.

Redis Cache adalah database NoSQL open source, berkecepatan tinggi. Cepat, dan berjalan sepenuhnya di memori dengan overhead kinerja yang dapat diabaikan saat membaca dan menulis data. Perlu dicatat bahwa Redis gratis untuk penggunaan komersial dan non-komersial di bawah lisensi BSD.

Apa itu Redis Cache dan mengapa saya harus menggunakannya?

Redis adalah salah satu sumber terbuka paling populer, NoSQL, penyimpanan data berbasis dalam memori yang tersedia. Ini adalah penyimpanan data dalam memori yang dapat mendukung berbagai macam struktur data, misalnya string, hashes, set, daftar, dll. Redis juga menyediakan dukungan bawaan untuk replikasi dan transaksi, serta dukungan yang sangat baik untuk persistensi data.

Redis adalah pilihan yang baik terutama jika aplikasi Anda perlu menyimpan dan mengambil data dalam jumlah besar. Jika aplikasi Anda perlu menyimpan dan mengambil banyak data dan ketersediaan memori bebas tidak menjadi kendala, Redis Cache adalah mesin caching yang harus Anda gunakan. Menyiapkan Redis cukup sederhana - bagian selanjutnya membahas cara menginstal, mengkonfigurasi, dan menggunakan Redis.

Menginstal Redis

Anda dapat mengunduh salinan Redis Cache dari GitHub. Saat menginstal Redis, Anda harus mencentang opsi untuk menambahkan Redis ke variabel lingkungan PATH. Setelah Redis Cache diinstal di sistem Anda, Anda dapat mengetik Run -> service.msc untuk melihat layanan Redis berjalan di sistem Anda.

Bekerja dengan klien C # Redis

Sekarang Redis telah diinstal di sistem Anda, Anda memerlukan klien untuk menyimpan dan mengambil data ke dan dari Redis Cache. Dalam contoh ini, kita akan menggunakan klien open source ServiceStack C # Redis. Untuk melakukannya, buat proyek aplikasi konsol baru di Visual Studio. Anda dapat menginstal ServiceStack.Redis melalui manajer paket NuGet.

Dengan asumsi bahwa ServiceStack.Redis telah diinstal melalui NuGet, dua metode berikut menggambarkan bagaimana Anda dapat menyimpan dan mengambil data dari Redis Cache menggunakan API ServiceStack.Redis.

Penyimpanan bool statis pribadi (host string, kunci string, nilai string)

        {

            bool isSuccess = false;

            menggunakan (RedisClient redisClient = new RedisClient (host))

            {

                if (redisClient.Get (key) == null)

                {

                    isSuccess = redisClient.Set (kunci, nilai);

                }

            }

            kembali isSuccess;

        }

        Get string statis pribadi (string host, kunci string)

        {

            menggunakan (RedisClient redisClient = new RedisClient (host))

            {

                return redisClient.Get (key);

            }

        }

Perhatikan bagaimana metode Set dan Dapatkan kelas RedisClient telah digunakan untuk menyimpan dan mengambil data ke dan dari Redis Cache. Saya serahkan kepada Anda untuk memperbarui kedua metode ini untuk membuatnya generik sehingga dapat bekerja dengan jenis apa pun.

Berikut adalah cara memanggil metode ini dari metode Utama:

static void Main (string [] args)

        {

            string host = "localhost";

            string key = "";

            // Simpan data di cache

            bool success = Simpan (host, key, "Hello World!");

            // Ambil data dari cache menggunakan kunci

            Console.WriteLine ("Data diambil dari Redis Cache:" + Dapatkan (host, kunci));

            Console.Read ();

        }

Seperti yang saya katakan sebelumnya, Redis kaya akan fitur. Dalam salah satu artikel saya yang akan datang di sini, saya akan membahas beberapa konsep lanjutan seperti persistence, pub-sub, automatic failover, dll. Anda dapat memanfaatkan cara persistensi RDB (satu file ringkas) atau AOF. Namun, Anda perlu mempertimbangkan trade-off antara kinerja, daya tahan, dan I / O disk sebelum Anda memilih opsi persistensi yang tepat.

Anda dapat mempelajari lebih lanjut tentang Redis dari dokumentasi online proyek.

Jika Anda tertarik menggunakan alat admin GUI untuk melihat data Redis, Anda dapat mencoba alat UI Admin Redis.