Cara bekerjasama dengan Redis Cache di .NET

Caching adalah strategi pengelolaan negara yang dapat digunakan untuk meningkatkan prestasi aplikasi Anda kerana ini membantu Anda untuk mengurangkan penggunaan sumber dalam sistem anda.

Redis Cache adalah pangkalan data NoSQL sumber terbuka, berkelajuan tinggi. Ia pantas, dan berfungsi sepenuhnya dalam memori dengan prestasi yang tidak dapat dilupakan semasa membaca dan menulis data. Perlu diingatkan bahawa Redis adalah percuma untuk kegunaan komersial dan bukan komersial di bawah lesen BSD.

Apa itu Redis Cache dan mengapa saya harus menggunakannya?

Redis adalah salah satu sumber terbuka yang paling popular, NoSQL, kedai data berasaskan memori yang ada. Ini adalah penyimpanan data dalam memori yang dapat menyokong berbagai struktur data, seperti rentetan, hash, set, daftar, dan lain-lain. Redis juga menyediakan sokongan bawaan untuk replikasi dan transaksi, serta sokongan yang sangat baik untuk ketekunan data.

Redis adalah pilihan yang baik terutamanya jika aplikasi anda perlu menyimpan dan mengambil sejumlah besar data. Sekiranya aplikasi anda perlu menyimpan dan mengambil banyak data dan ketersediaan memori percuma bukanlah halangan, Redis Cache adalah mesin caching yang harus anda jalani. Menyiapkan Redis agak mudah - bahagian yang berikut membincangkan cara memasang, mengkonfigurasi dan menggunakan Redis.

Memasang Redis

Anda boleh memuat turun salinan Redis Cache dari GitHub. Semasa memasang Redis, anda harus memilih pilihan untuk menambahkan Redis ke pemboleh ubah persekitaran PATH. Setelah Redis Cache dipasang di sistem anda, anda boleh mengetik Run -> service.msc untuk melihat perkhidmatan Redis berjalan di sistem anda.

Bekerja dengan pelanggan C # Redis

Setelah Redis dipasang di sistem anda, anda memerlukan pelanggan untuk menyimpan dan mengambil data ke dan dari Redis Cache. Dalam contoh ini, kami akan menggunakan klien sumber terbuka ServiceStack C # Redis. Untuk melakukan ini, buat projek aplikasi konsol baru di Visual Studio. Anda boleh memasang ServiceStack.Redis melalui pengurus pakej NuGet.

Dengan mengandaikan bahawa ServiceStack.Redis telah dipasang melalui NuGet, dua kaedah berikut menggambarkan bagaimana anda dapat menyimpan dan mengambil data dari Redis Cache menggunakan API ServiceStack.Redis.

Simpan statik peribadi (host rentetan, kekunci rentetan, nilai rentetan)

        {

            bool isSuccess = palsu;

            menggunakan (RedisClient redisClient = RedisClient baru (host))

            {

                jika (redisClient.Get (kunci) == null)

                {

                    isSuccess = redisClient.Set (kunci, nilai);

                }

            }

            pulangan isSuccess;

        }

        rentetan statik persendirian Get (string host, string string)

        {

            menggunakan (RedisClient redisClient = RedisClient baru (host))

            {

                kembali redisClient.Get (kunci);

            }

        }

Perhatikan bagaimana kaedah Set dan Dapatkan kelas RedisClient telah digunakan untuk menyimpan dan mengambil data ke dan dari Redis Cache. Saya menyerahkan kepada anda untuk mengemas kini dua kaedah ini agar menjadikannya generik agar dapat berfungsi dengan jenis apa pun.

Inilah cara anda memanggil kaedah ini dari kaedah Utama:

kekosongan statik Utama (string [] args)

        {

            string host = "localhost";

            kekunci rentetan = "";

            // Simpan data dalam cache

            kejayaan bool = Simpan (hos, kunci, "Hello World!");

            // Dapatkan data dari cache menggunakan kunci

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

            Konsol. Baca ();

        }

Seperti yang saya katakan sebelumnya, Redis kaya dengan ciri. Dalam salah satu artikel masa depan saya di sini, saya akan membincangkan beberapa konsep lanjutan seperti ketekunan, pub-sub, failover automatik, dan lain-lain. Anda boleh memanfaatkan RDB (satu fail ringkas) atau kaedah kegigihan AOF. Namun, anda perlu mempertimbangkan pertukaran antara prestasi, ketahanan, dan cakera I / O sebelum anda memilih pilihan ketekunan yang betul.

Anda boleh mengetahui lebih lanjut mengenai Redis dari dokumentasi dalam talian projek.

Sekiranya anda berminat menggunakan alat pentadbir GUI untuk melihat data Redis anda, anda boleh mencuba alat Redis Admin UI.