Junior — Middle
Омӯзиши системаи кэшгирии маълумотҳоро шарҳ дода метавонед?
sobes.tech AI
Ҷавоб аз AI
Системаи кеши маълумотҳо барои нигоҳдории муваққатии маълумоти бисёрпайдоишаванда пешбинӣ шудааст, то ба он дастрасиро суръат бахшад ва борро ба манбаъҳои асосии маълумот (масалан, шабака ё базаи додаҳо) кам кунад.
Принсипи кории кеш чунин аст:
- Дархости маълумот, аввал санҷида мешавад, ки оё маълумоти зарурӣ дар кеш мавҷуд аст.
- Агар маълумот ёбад (хит дар кеш), он фавран баргардонида мешавад, ки хеле тезтар аст.
- Агар маълумот ёбад (мисс дар кеш), он аз манбаи асосӣ бор карда мешавад ва сипас барои дархостҳои оянда дар кеш нигоҳ дошта мешавад.
Дар iOS, барои кешгирии маълумоти бисёрпайдоишаванда, одатан NSCache истифода мешавад, ки худкор ёдгириро идора мекунад ва объектҳоро дар сурати зарурат хориҷ мекунад. Ҳамчунин, маълумотҳоро дар диск барои нигоҳдории байни оғози барнома ҳам мумкин аст кеш кардан.
Масалан, истифодаи NSCache:
let imageCache = NSCache<NSString, UIImage>()
func loadImage(urlString: String) -> UIImage? {
if let cachedImage = imageCache.object(forKey: urlString as NSString) {
return cachedImage
}
// Боркунии тасвир аз шабака ё манбаи дигар
// Пас аз боркунӣ:
// imageCache.setObject(loadedImage, forKey: urlString as NSString)
return nil
}