Προγραμματισμός

Πώς να χρησιμοποιήσετε το NCache στο ASP.Net Core

Αν και το ASP.Net Core δεν διαθέτει αντικείμενο προσωρινής αποθήκευσης, παρέχει υποστήριξη για διάφορους τύπους προσωρινής αποθήκευσης, συμπεριλαμβανομένης της προσωρινής αποθήκευσης στη μνήμη, της κατανεμημένης προσωρινής μνήμης και της απόκρισης προσωρινής αποθήκευσης. Ένα προϊόν ανοιχτού κώδικα που παρέχεται από την Alachisoft, NCache είναι ένα εξαιρετικά γρήγορο, στη μνήμη, κατανεμημένο, επεκτάσιμο πλαίσιο προσωρινής αποθήκευσης για χρήση σε εφαρμογές .Net.

Το NCache είναι 100% εγγενές .Net. Δεν είναι μόνο ταχύτερο από το Redis, αλλά παρέχει επίσης πολλές δυνατότητες κατανεμημένης προσωρινής αποθήκευσης που δεν υποστηρίζονται από το Redis. Μπορείτε να μάθετε περισσότερα σχετικά με τις διαφορές μεταξύ NCache και Redis εδώ. Αυτό το άρθρο θα συζητήσει πώς μπορούμε να εργαστούμε με το NCache σε εφαρμογές ASP.Net Core.

Μια κατανεμημένη προσωρινή μνήμη όπως το NCache μπορεί να βελτιώσει τόσο την απόδοση όσο και την επεκτασιμότητα των εφαρμογών. Σε μια κατανεμημένη προσωρινή μνήμη, τα προσωρινά αποθηκευμένα δεδομένα δεν βρίσκονται στη μνήμη ενός μεμονωμένου διακομιστή ιστού. Μπορείτε να προσθέσετε ή να αφαιρέσετε έναν διακομιστή χωρίς να επηρεάσετε την προσωρινή μνήμη ή τα προσωρινά αποθηκευμένα δεδομένα. Και αν κάποιος από τους διακομιστές κατεβεί ή σταματήσει να αποκρίνεται, άλλοι διακομιστές θα εξακολουθούν να μπορούν να ανακτούν τα αποθηκευμένα δεδομένα. Αυτό εξηγεί γιατί τα προσωρινά αποθηκευμένα δεδομένα σε μια κατανεμημένη προσωρινή μνήμη μπορούν να επιβιώσουν κατά την επανεκκίνηση του διακομιστή.

Δημιουργήστε ένα έργο ASP.Net Core στο Visual Studio

Πρώτα απ 'όλα, ας δημιουργήσουμε ένα έργο ASP.Net Core. Εάν το Visual Studio 2017 λειτουργεί και λειτουργεί στο σύστημά σας, ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε ένα νέο έργο ASP.Net Core στο Visual Studio.

  1. Ξεκινήστε το Visual Studio 2017 IDE.
  2. Κάντε κλικ στο Αρχείο> Νέο> Έργο.
  3. Επιλέξτε "ASP.Net Core Web Application (.Net Core)" από τη λίστα των προτύπων που εμφανίζονται.
  4. Καθορίστε ένα όνομα για το έργο.
  5. Κάντε κλικ στο OK για να αποθηκεύσετε το έργο.
  6. Στη συνέχεια εμφανίζεται ένα νέο παράθυρο «Νέα εφαρμογή .Net Core Web…».
  7. Επιλέξτε .Net Core ως χρόνο εκτέλεσης και ASP.Net Core 2.2 (ή νεότερη έκδοση) από την αναπτυσσόμενη λίστα στην κορυφή.
  8. Επιλέξτε API ως πρότυπο έργου
  9. Βεβαιωθείτε ότι τα πλαίσια ελέγχου "Ενεργοποίηση υποστήριξης Docker" και "Διαμόρφωση για HTTPS" δεν είναι επιλεγμένα, καθώς δεν θα χρησιμοποιούμε αυτές τις δυνατότητες εδώ.
  10. Βεβαιωθείτε ότι η επιλογή "Χωρίς έλεγχο ταυτότητας" είναι επιλεγμένη καθώς δεν θα χρησιμοποιούμε έλεγχο ταυτότητας.
  11. Κάντε κλικ στο OK.

Θα πρέπει τώρα να έχετε ένα νέο έργο ASP.Net Core έτοιμο να ξεκινήσει στο Visual Studio. Στη συνέχεια, θα χρειαστεί να εγκαταστήσετε το απαραίτητο πακέτο NuGet για τη χρήση του NCache. Εγκαταστήστε το ακόλουθο πακέτο NuGet μέσω του παραθύρου NuGet Package Manager ή από την κονσόλα NuGet Package Manager:

Υπηρεσίες Alachisoft.NCache.SessionServices

Μόλις εγκατασταθεί αυτό το πακέτο NuGet στο έργο σας, είστε έτοιμοι να χρησιμοποιήσετε το NCache.

Χρησιμοποιήστε τη διεπαφή IDistolvedCache στο ASP.Net Core

Για να χρησιμοποιήσετε μια κατανεμημένη προσωρινή μνήμη σε εφαρμογές ASP.Net Core, θα πρέπει να χρησιμοποιήσετε τη διεπαφή IDistiftedCache. Η διεπαφή IDistolvedCache εισήχθη στο ASP.Net Core για να σας επιτρέψει να συνδέσετε εύκολα πλαίσια προσωρινής αποθήκευσης τρίτων. Εδώ είναι το IDistiftedCache.

namespace Microsoft.Extensions.Caching.Distributed

{

δημόσια διεπαφή IDistributedCache

    {

byte [] Λήψη (πλήκτρο συμβολοσειράς);

void Refresh (πλήκτρο συμβολοσειράς).

void Remove (πλήκτρο συμβολοσειράς).

void Set (πλήκτρο συμβολοσειράς, τιμή byte [],

Επιλογές DistributedCacheEntryOptions);

    }

}

Ρύθμιση παραμέτρων NCache ως παροχέα IDistiftedCache στον ASP.Net Core

Για να εργαστείτε με την κατανεμημένη προσωρινή αποθήκευση χρησιμοποιώντας το NCache, θα πρέπει να πραγματοποιήσετε μια κλήση στη μέθοδο AddNCacheDistiftedCache στη μέθοδο ConfigureServices του αρχείου Startup.cs όπως φαίνεται στο απόσπασμα κώδικα παρακάτω. Σημειώστε ότι η μέθοδος AddNCacheDistiftedCache () είναι επέκταση της μεθόδου AddNDistiftedCache () του ASP.Net Core.

public void ConfigureServices (υπηρεσίες IServiceCollection)

        {

services.AddNCacheDistributedCache (διαμόρφωση =>

            {

config.CacheName = "DistributedCache";

config.EnableLogs = true;

config.ExceptionsEnabled = true;

            });          

services.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

Και αυτό πρέπει να κάνετε. Τώρα μπορείτε να αρχίσετε να χρησιμοποιείτε το NCache στο έργο σας.

Χρησιμοποιήστε το NCache για να αποθηκεύσετε και να ανακτήσετε προσωρινά αποθηκευμένα αντικείμενα στο ASP.Net Core

Το παρακάτω απόσπασμα κώδικα δείχνει πώς μπορείτε να εργαστείτε με το NCache. Η μέθοδος GetAuthor που εμφανίζεται παρακάτω ανακτά το αντικείμενο Συγγραφέα από την προσωρινή μνήμη, εάν είναι διαθέσιμη. Εάν το αντικείμενο συγγραφέα δεν είναι διαθέσιμο στην προσωρινή μνήμη, η μέθοδος GetAuthor το ανακτά από τη βάση δεδομένων και, στη συνέχεια, αποθηκεύει το αντικείμενο στην προσωρινή μνήμη.

 public async Εργασία GetAuthor (int id)

        {

_cache = NCache.InitializeCache ("CacheName");

var cacheKey = "Κλειδί";

Συγγραφέας = null;

αν (_cache! = null)

            {

author = _cache.Αποκτήστε (cacheKey) ως Συγγραφέας;

            }

if (author == null) // Τα δεδομένα δεν είναι διαθέσιμα στην προσωρινή μνήμη

            {

// Γράψτε τον κωδικό εδώ για ανάκτηση του συγγραφέα

// αντικείμενο από τη βάση δεδομένων

αν (συγγραφέας! = null)

                {

αν (_cache! = null)

                    {

_cache.Insert (cacheKey, συγγραφέας, null,

Cache.NoAbsoluteExpiration,

TimeSpan.FromMinutes (10),

Alachisoft.NCache.Runtime.

CacheItemPriority.Default);

                    }

                }

            }

επιστροφή συγγραφέας;

        }

Και εδώ είναι η τάξη συγγραφέων.

 δημόσια τάξη Συγγραφέας

    {

δημόσιο int AuthorId {get; σειρά; }

δημόσια συμβολοσειρά FirstName {get; σειρά; }

δημόσια συμβολοσειρά LastName {get; σειρά; }

    }

Το NCache από την Alachisoft είναι μια κατανεμημένη λύση προσωρινής αποθήκευσης για το .Net. Η διεπαφή IDistiftedCache παρέχει ένα τυπικό API για εργασία με μια κατανεμημένη προσωρινή μνήμη στο ASP.Net Core. Μπορείτε να το χρησιμοποιήσετε για να συνδέσετε κρυφές μνήμες τρίτων όπως το NCache γρήγορα και εύκολα.