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