Sobes.tech
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:

  1. Andmete päringul kontrollitakse esmalt, kas vajalik teave on vahemälus.
  2. Kui andmed leitud (vahemälu tabamus), tagastatakse need kohe, mis on palju kiirem.
  3. 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
}