Η αργή, επαναλαμβανόμενη ανάκτηση δεδομένων προκαλεί χαμηλή απόδοση της εφαρμογής σας; Δοκιμάστε την προσωρινή αποθήκευση για να λύσετε το πρόβλημα.

Η δημιουργία γρήγορων και αξιόπιστων διαδικτυακών εφαρμογών είναι πιο σημαντική από ποτέ στο σημερινό ψηφιακό τοπίο. Οι χρήστες έχουν υψηλές προσδοκίες όσον αφορά την απόδοση του ιστότοπου. Οι αργοί χρόνοι φόρτωσης ή η διακοπή λειτουργίας μπορεί να οδηγήσουν σε απογοήτευση των πελατών και ζημιά στη φήμη.

Ένας τρόπος για την επίτευξη γρήγορων και αξιόπιστων εφαρμογών Ιστού είναι μέσω της χρήσης της προσωρινής αποθήκευσης. Υπάρχουν διάφορα είδη κρυφής μνήμης που μπορείτε να εφαρμόσετε στην εφαρμογή σας, συμπεριλαμβανομένης της κρυφής μνήμης, της προσωρινής μνήμης του προγράμματος περιήγησης, της κρυφής μνήμης βάσης δεδομένων και της κρυφής μνήμης CDN.

Τι είναι η προσωρινή αποθήκευση και πώς διαφέρει η προσωρινή αποθήκευση στη μνήμη; Πώς μπορείτε να αυξήσετε την απόδοση της εφαρμογής Nest.js με την προσωρινή αποθήκευση στη μνήμη;

Τι είναι η προσωρινή αποθήκευση;

instagram viewer

Η προσωρινή αποθήκευση είναι η διαδικασία αποθήκευσης δεδομένων με συχνή πρόσβαση σε μια προσωρινή τοποθεσία για τη βελτίωση της απόδοσης μιας εφαρμογής ή συστήματος. Τα αποθηκευμένα δεδομένα μπορούν να ανακτηθούν γρήγορα και να εξυπηρετηθούν στον χρήστη χωρίς να χρειάζεται να τα ανακτήσει ξανά από την αρχική πηγή.

Οι εφαρμογές χρησιμοποιούν προσωρινή αποθήκευση για να παρέχουν περιεχόμενο πιο γρήγορα και αποτελεσματικά, γεγονός που οδηγεί σε καλύτερη εμπειρία χρήστη και μειωμένο φόρτο στα υποκείμενα συστήματα. Οι πιο συνηθισμένοι τύποι προσωρινής αποθήκευσης περιλαμβάνουν την προσωρινή αποθήκευση στη μνήμη, Προσωρινή αποθήκευση CDN, προσωρινή αποθήκευση του προγράμματος περιήγησης και προσωρινή αποθήκευση της βάσης δεδομένων.

Τι είναι η προσωρινή αποθήκευση σε μνήμη;

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

Η προσωρινή αποθήκευση των δεδομένων στη μνήμη σημαίνει ότι η εφαρμογή έχει ταχύτερη πρόσβαση στα δεδομένα και αυτό έχει ως αποτέλεσμα βελτιωμένη απόδοση.

Πώς να εφαρμόσετε την προσωρινή αποθήκευση στη μνήμη σε μια εφαρμογή Nest.js

Το Nest.js έχει ενσωματωμένη υποστήριξη για την προσωρινή αποθήκευση χρησιμοποιώντας προγράμματα οδήγησης όπως το Redis, το Memcached και πολλά άλλα. Ωστόσο, για εύκολη κατανόηση, αυτό το άρθρο χρησιμοποιεί την ενσωματωμένη μονάδα προσωρινής μνήμης που παρέχει το Nest.js.

Αυτή η ενότητα προϋποθέτει ότι έχετε ήδη δημιουργήσει μια εφαρμογή Nest.js με την εντολή Nest CLI: nest new [όνομα εφαρμογής]. Για να εφαρμόσετε την προσωρινή μνήμη της μνήμης σε ένα τελικό σημείο, θα πρέπει να έχετε ήδη τα αρχεία λειτουργικής μονάδας, υπηρεσίας και ελεγκτή ή να τα δημιουργήσετε χρησιμοποιώντας το φωλιάπαράγω εντολή. Μπορείτε να μάθετε περισσότερα για φωλιά παράγουν στο Τεκμηρίωση Nest CLI.

Το πρώτο βήμα για την υλοποίηση μιας κρυφής μνήμης είναι η εισαγωγή του CacheModule από @nestjs/common στην ενότητα του τελικού σημείου σας όπως φαίνεται παρακάτω:

// example.module.ts
εισαγωγή { Module, CacheModule } από'@nestjs/common';

@Μονάδα μέτρησης({
εισαγωγές: [CacheModule.register()],
})

εξαγωγήτάξη ExampleModule {}

Στη συνέχεια, πρέπει να κάνετε εισαγωγή CacheService και εισάγετέ το στην υπηρεσία Nest.js που επικοινωνεί με το α βάση δεδομένων όπως η MongoDB. Μπορείτε να δείτε πώς το κάνει αυτό το ακόλουθο παράδειγμα κώδικα:

// example.service.ts
εισαγωγή { Injectable, CacheService } από'@nestjs/common';

@Ενέσιμα()
εξαγωγήτάξη ExampleService {
κατασκευαστής(ιδιωτικός cacheService μόνο για ανάγνωση: CacheService) {}

ασυγχρονισμός getData(): Υπόσχεση<όποιος> {
συνθ cacheKey = 'τα δεδομένα μου';
αφήνω δεδομένα = αναμένωΑυτό.cacheService.get (cacheKey);

αν (!δεδομένα) {
// ανάκτηση δεδομένων από βάση δεδομένων ή API
δεδομένα = αναμένωΑυτό.fetchData();

// προσωρινή αποθήκευση δεδομένων για μελλοντική χρήση
αναμένωΑυτό.cacheService.set (cacheKey, data, { ttl: 60 });
}

ΕΠΙΣΤΡΟΦΗ δεδομένα;
}

ιδιωτικόςασυγχρονισμός fetchData(): Υπόσχεση<όποιος> {
// ανάκτηση δεδομένων από τη βάση δεδομένων
}
}

Στο παραπάνω παράδειγμα κώδικα, το ExampleService χρήσεις CacheService ως εξάρτηση. ο getData Η μέθοδος ελέγχει εάν τα δεδομένα είναι διαθέσιμα στην κρυφή μνήμη χρησιμοποιώντας ένα κλειδί (cacheKey), εάν τα δεδομένα δεν βρίσκονται στην κρυφή μνήμη, προχωρά στην ανάκτησή τους από τη βάση δεδομένων και στην προσωρινή αποθήκευση για μελλοντική χρήση.

ο CacheService έχει ένα σειρά μέθοδος που λαμβάνει ένα αντικείμενο ως όρισμα. Σε αυτήν την περίπτωση, μπορείτε να δείτε πώς η τιμή { ttl: 60 } ρυθμίζει το χρόνο ζωής στα 60 δευτερόλεπτα. Αυτό σημαίνει ότι η υπηρεσία θα αφαιρέσει αυτόματα τα αποθηκευμένα δεδομένα μετά από ένα λεπτό.

Μερικά σημαντικά πλεονεκτήματα της προσωρινής αποθήκευσης στη μνήμη περιλαμβάνουν τα ακόλουθα:

  • Βελτιωμένη επεκτασιμότητα: Η προσωρινή αποθήκευση στη μνήμη μπορεί να βοηθήσει στη βελτίωση της επεκτασιμότητας των εφαρμογών μειώνοντας το φόρτο στην υποκείμενη πηγή δεδομένων.
  • Ταχύτερος χρόνος απόκρισης: Η προσωρινή αποθήκευση δεδομένων με συχνή πρόσβαση στη μνήμη μειώνει τον χρόνο που απαιτείται για την ανάκτηση των δεδομένων, με αποτέλεσμα ταχύτερους χρόνους απόκρισης.
  • Καλύτερη εμπειρία χρήστη: Οι ταχύτεροι χρόνοι απόκρισης και η βελτιωμένη επεκτασιμότητα μπορούν να βοηθήσουν στην παροχή καλύτερης εμπειρίας χρήστη μειώνοντας τον χρόνο αναμονής και βελτιώνοντας τη συνολική απόδοση της εφαρμογής.
  • Μειωμένο κόστος: Με τη μείωση του φόρτου στην πηγή δεδομένων, η προσωρινή αποθήκευση στη μνήμη μπορεί να βοηθήσει στη μείωση του κόστους εκτέλεσης της εφαρμογής.

Βελτιστοποίηση εφαρμογών Nest.js με προσωρινή αποθήκευση στην μνήμη

Η προσωρινή αποθήκευση στη μνήμη είναι ένας πολύ αποτελεσματικός τρόπος για τη βελτίωση της συνολικής απόδοσης της εφαρμογής. Έχετε δει πώς μπορείτε να εφαρμόσετε μια κρυφή μνήμη στη μνήμη στο Nest.js και πώς βελτιώνει την επεκτασιμότητα και την εμπειρία χρήστη. Μπορεί επίσης να βελτιώσει τον χρόνο απόκρισης και να μειώσει το κόστος εκτέλεσης της εφαρμογής σας.

Δοκιμάστε να χρησιμοποιήσετε την έννοια της προσωρινής αποθήκευσης στην κρυφή μνήμη κατά τη δημιουργία του επόμενου Nest.js API ή εφαρμογής σας.