Cara menggunakan NCache di ASP.Net Core

Walaupun ASP.Net Core tidak mempunyai objek cache, ia memberikan sokongan untuk beberapa jenis cache yang berbeza termasuk cache dalam memori, cache terdistribusi, dan cache respons. Produk sumber terbuka yang disediakan oleh Alachisoft, NCache adalah rangka kerja cache yang sangat pantas, dalam memori, diedarkan, berskala untuk digunakan dalam aplikasi .Net.

NCache adalah 100 peratus asli. Bersih. Ia bukan sahaja lebih pantas daripada Redis, tetapi juga menyediakan beberapa ciri cached diedarkan yang tidak disokong oleh Redis. Anda boleh mengetahui lebih lanjut mengenai perbezaan antara NCache dan Redis di sini. Artikel ini akan membincangkan bagaimana kita dapat bekerjasama dengan NCache dalam aplikasi ASP.Net Core.

Cache yang diedarkan seperti NCache dapat meningkatkan prestasi dan skalabiliti aplikasi. Dalam cache yang diedarkan, data yang di-cache tidak berada dalam memori pelayan web individu. Anda boleh menambah atau membuang pelayan tanpa memengaruhi cache atau data cache. Dan sekiranya ada pelayan yang turun atau berhenti bertindak balas, pelayan lain masih dapat mengambil data yang disimpan dalam cache. Ini menerangkan mengapa data cache dalam cache yang diedarkan dapat bertahan semula dari pelayan semula.

Buat projek ASP.Net Core di Visual Studio

Pertama, mari buat projek ASP.Net Core. Sekiranya Visual Studio 2017 siap dan berjalan di sistem anda, ikuti langkah-langkah yang diberikan di bawah untuk membuat projek ASP.Net Core baru di Visual Studio.

  1. Lancarkan ID Studio Visual 2017.
  2. Klik pada Fail> Baru> Projek.
  3. Pilih "Aplikasi Web Teras ASP.Net (.Net Core)" dari senarai templat yang dipaparkan.
  4. Nyatakan nama untuk projek tersebut.
  5. Klik OK untuk menyimpan projek.
  6. Tetingkap baru "Aplikasi Web Inti Net Baru." Ditunjukkan seterusnya
  7. Pilih .Net Core sebagai runtime dan ASP.Net Core 2.2 (atau lebih baru) dari senarai juntai bawah di bahagian atas.
  8. Pilih API sebagai templat projek
  9. Pastikan bahawa kotak centang "Aktifkan Docker Support" dan "Configure for HTTPS" tidak dicentang kerana kami tidak akan menggunakan fitur tersebut di sini.
  10. Pastikan "Tiada Pengesahan" dipilih kerana kami juga tidak akan menggunakan pengesahan.
  11. Klik OK.

Anda kini harus mempunyai projek ASP.Net Core baru yang siap digunakan di Visual Studio. Seterusnya, anda perlu memasang pakej NuGet yang diperlukan untuk menggunakan NCache. Pasang pakej NuGet berikut melalui tetingkap Pengurus Pakej NuGet atau dari konsol Pengurus Pakej NuGet:

Perkhidmatan Alachisoft.NCache.Session

Setelah pakej NuGet ini dipasang di projek anda, anda sudah siap menggunakan NCache.

Gunakan antara muka IDistolvedCache di ASP.Net Core

Untuk menggunakan cache yang diedarkan dalam aplikasi ASP.Net Core, anda harus menggunakan antara muka IDistiftedCache. Antaramuka IDistabledCache diperkenalkan di ASP.Net Core untuk membolehkan anda memasang kerangka kerja cache pihak ketiga dengan mudah. Inilah rupa IDistributedCache.

namespace Microsoft.Extensions.Caching.Distribusikan

{

    antara muka awam IDistributedCache

    {

        bait [] Dapatkan (kekunci rentetan);

        batal Refresh (kekunci rentetan);

        batal Keluarkan (kekunci rentetan);

        kekosongan Set (kekunci rentetan, nilai bait [],

        Pilihan diedarkanCacheEntryOptions);

    }

}

Konfigurasikan NCache sebagai penyedia IDistributedCache di ASP.Net Core

Untuk bekerja dengan cache terdistribusi menggunakan NCache, anda harus membuat panggilan ke kaedah AddNCacheDistributedCache dalam kaedah ConfigureServices dari fail Startup.cs seperti yang ditunjukkan dalam coretan kod di bawah. Perhatikan bahawa kaedah AddNCacheDistiftedCache () adalah lanjutan dari kaedah AddNDistiftedCache () ASP.Net Core.

kekosongan awam ConfigureServices (perkhidmatan IServiceCollection)

        {

            services.AddNCacheDistributedCache (konfigurasi =>

            {

                konfigurasi.CacheName = "DistusedCache";

                konfigurasi.EnableLogs = true;

                konfigurasi.ExceptionsEnabled = true;

            });          

 perkhidmatan.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

Dan hanya itu yang perlu anda lakukan. Anda kini boleh mula menggunakan NCache dalam projek anda.

Gunakan NCache untuk menyimpan dan mengambil objek cache di ASP.Net Core

Coretan kod berikut menggambarkan bagaimana anda boleh bekerja dengan NCache. Kaedah GetAuthor yang ditunjukkan di bawah mengambil objek Pengarang dari cache jika tersedia. Sekiranya objek Pengarang tidak tersedia di cache, kaedah GetAuthor mengambilnya dari pangkalan data dan kemudian menyimpan objek di cache.

 async awam Tugas GetAuthor (int id)

        {

            _cache = NCache.InitializeCache ("CacheName");

            var cacheKey = "Kunci";

            Pengarang pengarang = null;

            jika (_cache! = null)

            {

                author = _cache.Dapatkan (cacheKey) sebagai Pengarang;

            }

           if (author == null) // Data tidak tersedia di cache

            {

                // Tulis kod di sini untuk mengambil pengarang

                // objek dari pangkalan data

                jika (pengarang! = batal)

                {

                    jika (_cache! = null)

                    {

                        _cache.Insert (cacheKey, pengarang, null,

                         Cache.NoAbsoluteExpiration,

                         TimeSpan.FromMinutes (10), 

                         Alachisoft.NCache.Runtime.

                         CacheItemPriority.Default);

                    }

                }

            }

            pengarang kembali;

        }

Dan inilah kelas Pengarang.

 Pengarang kelas awam

    {

        inti Pengarang awam {dapatkan; menetapkan; }

        rentetan awam FirstName {get; menetapkan; }

        rentetan umum LastName {get; menetapkan; }

    }

NCache dari Alachisoft adalah penyelesaian caching yang diedarkan untuk .Net. Antara muka IDistiftedCache menyediakan API standard untuk bekerja dengan cache yang diedarkan di ASP.Net Core. Anda boleh menggunakannya untuk memasukkan cache pihak ketiga seperti NCache dengan cepat dan mudah.