Sobes.tech
Junior — Middle

Ποια μέθοδο ή εργαλεία χρησιμοποιήσατε για την υλοποίηση caching στα έργα σας;

sobes.tech AI

Απάντηση από AI

Για την υλοποίηση caching σε έργα C#, χρησιμοποίησα διάφορες προσεγγίσεις και εργαλεία:

  • MemoryCache από το namespace System.Runtime.Caching για την προσωρινή αποθήκευση δεδομένων στη μνήμη της εφαρμογής.
  • Κατανεμημένη Cache (π.χ., Redis) για caching σε κατανεμημένο περιβάλλον, χρήσιμο κατά την κλιμάκωση.
  • Χρήση χαρακτηριστικών caching στο ASP.NET Core, όπως [ResponseCache] για caching απαντήσεων HTTP.
  • Υλοποίηση δικού μου επιπέδου cache με χρήση λεξικών και timeout για συγκεκριμένες εργασίες.

Παράδειγμα χρήσης MemoryCache:

using System.Runtime.Caching;

MemoryCache cache = MemoryCache.Default;
string cacheKey = "user_123";
var userData = cache.Get(cacheKey);
if (userData == null)
{
    userData = GetUserFromDatabase(123); // μέθοδος λήψης δεδομένων
    cache.Set(cacheKey, userData, DateTimeOffset.Now.AddMinutes(10));
}
// Χρήση του userData