Junior — Middle
Kas saaksite selgitada andmete vahemälu süsteemi tööpõhimõtet?
sobes.tech AI
Vastus AI-lt
Andmete vahemälu süsteem on mõeldud sageli kasutatavate teabe ajutiseks salvestamiseks, et kiirendada sellele juurdepääsu ja vähendada peamiste andmeallikate (näiteks võrgu või andmebaasi) koormust.
Vahemälu tööpõhimõte on järgmine:
- Andmete päringul kontrollitakse esmalt, kas vajalik teave on vahemälus.
- Kui andmed leitud (vahemälu tabamus), tagastatakse need kohe, mis on palju kiirem.
- Kui andmeid ei leitud (vahemälu puudus), laaditakse need peamisest allikast ja salvestatakse seejärel vahemällu tulevasteks päringuteks.
iOS-is kasutatakse sageli NSCache-i, mis automaatselt haldab mälu ja eemaldab objekte vajadusel. Samuti on võimalik andmeid salvestada kettale, et need säiliksid rakenduse käivituste vahel.
Näide NSCache kasutamisest:
let imageCache = NSCache<NSString, UIImage>()
func loadImage(urlString: String) -> UIImage? {
if let cachedImage = imageCache.object(forKey: urlString as NSString) {
return cachedImage
}
// Laadige pilt võrgust või teisest allikast
// Pärast laadimist:
// imageCache.setObject(loadedImage, forKey: urlString as NSString)
return nil
}