Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • vijesti
  • Predmemorija vanjske memorije [. Što je cache memorija? Što je cache za "Android"

Predmemorija vanjske memorije [. Što je cache memorija? Što je cache za "Android"

Predmemoriranje Jedan je od načina optimizacije web aplikacija. U svakoj aplikaciji postoje spore operacije (SQL upiti ili upiti vanjskim API-jima), čiji se rezultati mogu pohraniti neko vrijeme. To će omogućiti izvođenje manjeg broja ovih operacija, a većina korisnika će moći prikazati prethodno spremljene podatke.

Najpopularnija tehnologija predmemorije za web aplikacije je Memcache.

Kada keširati

Pokušajte izbjeći predmemoriju osim ako je apsolutno neophodno. Ovo je jednostavna tehnika, ali smanjuje fleksibilnost aplikacije. Nemojte raditi nepotreban posao prije vremena, ali uključite mogućnost korištenja predmemorije u budućnosti:

  • Koristite klase ili funkcije za rad s podacima. Nemojte koristiti duple SQL odabire u glavnoj aplikaciji.
  • Koristite omote za rad s vanjskim API-jima.

Što keširati?

Morate spremiti podatke koji se sporo generiraju i često traže. U praksi je to obično:

  • Rezultati zahtjeva vanjskim servisima (RSS, SOAP, REST, itd.).
  • Rezultati sporih uzoraka iz baze podataka.
  • Generirani html blokovi ili cijele stranice.

Predmemoriranje odabira baze podataka

Upiti baze podataka najčešći su primjer. Vrlo je jednostavno implementirati na temelju Memcachea:

$ list = memcache_get ("online_users")) ($ sql = "SELECT * FROM users WHERE last_visit> UNIX_TIMESTAMP () - 60 * 10"; $ q = mysql_query ($ sql); dok ($ red = mysql_fetch_assoc ($ q)) $ list = $ red; memcache_set ("online_users", $ lista, 60 * 60);) vratiti $ listu; ) $ lista = get_online_users (); ...

# Zahtjev za dobivanje korisnika sprema se u predmemoriju 1 sat

Ažuriranje podataka

Ako spremate podatke koji se mogu ažurirati, morate očistiti predmemoriju nakon svakog ažuriranja:

memcache_delete ("korisnik". $ id); }

Predmemoriranje popisa

Recimo da predmemorirate podatke svakog korisnika, kao u primjeru, kao i njihove popise (na primjer, popis online korisnika). Kada osvježite korisničke podatke, brišete podatke iz predmemorije samo za navedenog korisnika. No, njegovi podaci mogu biti prisutni i na popisu online korisnika, koji se također nalaze u predmemoriji. Nije učinkovito ispirati popise svaki put kada se osvježe bilo koji korisnički podaci. Stoga se ovaj pristup obično koristi:

  1. Predmemorije popisi koji se sastoje samo od korisničkih ID-ova.
  2. Za prikaz popisa šalje se poseban zahtjev za dobivanje podataka svakog korisnika.

Implementacija izgleda ovako:

iskaznica FROM korisnika WHERE last_visit> UNIX_TIMESTAMP () - 60 * 10 "; $ q = mysql_query ($ sql); dok ($ red = mysql_fetch_assoc ($ q)) $ lista = $ redak ["id"]; memcache_set ("online_users", $ lista, 60 * 60); ) vratiti $ listu; ) $ lista = get_online_users (); foreach ($ lista kao $ id) ($ korisnik = get_user ($ id); ...)

# Dobijte popis korisničkih ID-ova i dohvatite stvarne podatke za svaki od njih

Za dobivanje podataka iz nekoliko objekata odjednom, možete koristiti Multiget.

Ponovljeni zahtjevi

Neki podaci mogu biti zatraženi nekoliko puta unutar jedne stranice, na primjer:

get_user ($ _ SESSION ["id"]) ["name"])?>

... E-mail:get_user ($ _ SESSION ["id"]) ["e-pošta"]?> ... get_user ($ _ SESSION ["id"]) ["nick"]?> "> Moja stranica ...

Svaki poziv get_user ()će dobiti podatke iz predmemorije. Ako je Memcache na zasebnom poslužitelju, to će uzrokovati puno mrežnog prometa i kašnjenja.

Da biste to izbjegli, možete koristiti dodatnu predmemoriju unutar same aplikacije:

globalni $ app_cache; if ($ app_cache ["user". $ id]) vrati $ app_cache ["user". $ id]; if (! $ data = memcache_get ("user". $ id)) ($ sql = "SELECT * FROM users WHERE id =". intval ($ id); $ q = mysql_query ($ sql); $ data = mysql_fetch_assoc ( $ q); memcache_set ("korisnik". $ id, $ podaci, 60 * 60); $ app_cache ["korisnik". $ id] = $ podaci;) vratiti $ podatke; ) funkcija save_user ($ id, $ data) ( globalni $ app_cache; mysql_query ("UPDATE korisničke postavke ... WHERE id =". intval ($ id)); memcache_delete ("korisnik". $ id); poništeno ($ app_cache ["korisnik". $ id]); }

U stvarnim aplikacijama, logično je imati Memcache omot s dodatnim predmemorijem:

inner_cache)) return $ this-> inner_cache [$ key]; $ data = memcache_get ($ this-> resurs, $ ključ); $ this-> inner_cache [$ ključ] = $ podaci; vratiti $ data ["vrijednost"]; ) javni statički skup funkcija ($ ključ, $ vrijednost, $ ttl) (memcache_set ($ ključ, $ vrijednost, $ ttl); $ this-> inner_cache [$ ključ] = $ vrijednost;) javna statička funkcija del ($ ključ) (memcache_delete ($ ključ); poništi ($ this-> inner_cache [$ ključ]);))

# $ inner_cache pohranjuje dodatnu predmemoriju

Pažnja. Korištenje ovog pristupa može dovesti do curenja memorije pri radu s velikom količinom podataka u predmemoriji. Na primjer, u zadacima cron (recimo da ponavljamo sve korisnike da bismo poslali popis e-pošte). Tada je bolje dodati onemogućavanje interne predmemorije:

javni statički $ inner_cache_enabled = istina; javna statička funkcija get ($ ključ) (ako ( self :: $ inner_cache_enabled&& array_key_exists ($ ključ, $ this-> inner_cache)) vraća $ this-> inner_cache [$ ključ]; $ data = memcache_get ($ this-> resurs, $ ključ); $ this-> inner_cache [$ ključ] = $ podaci; vratiti $ data ["vrijednost"]; ) javni statički skup funkcija ($ ključ, $ vrijednost, $ ttl) (memcache_set ($ ključ, $ vrijednost, $ ttl); if (self :: $ inner_cache_enabled)$ this-> inner_cache [$ ključ] = vrijednost $; ) javna statička funkcija del ($ ključ) (memcache_delete ($ ključ); unset ($ this-> inner_cache [$ ključ]);)) ... mem_cache :: $ inner_cache_enabled = false;

# Onemogući internu predmemoriju

Zagrijavanje

Kada ažurirate posebno teške podatke, ne biste trebali koristiti ispiranje predmemorije, već izravno ažuriranje podataka u njoj:

# operacija za ažuriranje vanjskih resursa $ data = file_get_contents ("http://rss.com/rss"); memcache_set ("rss", $ podaci, 60 * 60); }

To će izbjeći dodatni teret teškog odabira kada se ključ izvadi. Ova tehnika se obično koristi u cron poslovima za povremeno ažuriranje rezultata vrlo teških odabira.

Životni vijek (TTL)

ttl (vrijeme života) je vrijeme nakon kojeg će se podaci ukloniti iz predmemorije. Memcache se instalira za nekoliko sekundi:

60*60 );

# Instaliranje ttl-a na 1 sat

Najčešće se ttl igra od nekoliko minuta do nekoliko dana. Nemojte koristiti vrijednost 0 (beskonačno skladištenje), može začepiti memoriju.

LRU

Svaka predmemorija radi na principu prednosti ako ostane bez memorije. Oni. ako Memcache može koristiti najviše 1G memorije, a vi pokušavate pohraniti ključeve na 2G, tada će Memcache izbrisati polovicu ovih podataka. Za određivanje koje ključeve treba izbrisati, koristi se algoritam LRU (Least Recently Used):

Memcache će pokušati izbrisati, prije svega, podatke koji su bili traženi prije jako davno (tj. izbrisat će manje popularne podatke i ostaviti popularnije).

Keširanje vrlo sporih upita

Zamislite da imate upit za koji je potrebno 10 sekundi. Spremate ga u predmemoriju na 1 sat. Kada to vrijeme prođe, podaci u predmemoriji se brišu. U prvih 10 sekundi nakon toga, suočeni ste sa situacijom da nekoliko korisnika istovremeno poziva ovaj teški zahtjev. To može dovesti do katastrofalnih posljedica. unutar 10 sekundi može biti nekoliko stotina ili tisuća takvih poziva.

Da biste to izbjegli, morate koristiti posebnu tehniku ​​umnožavanja.

Atomske operacije

Ponekad predmemorija pohranjuje brojače (na primjer, broj korisnika). Prilikom dodavanja novih korisnika, umjesto resetiranja brojača i ponovnog uzorkovanja, možete jednostavno povećati vrijednost predmemorije za jedan. Ali to ne možete učiniti putem aplikacije, jer to će rezultirati gubitkom podataka iz dvaju istovremeno izvršenih upita:

Memcache podržava dvije atomske operacije za povećanje i smanjenje brojeva:

# Povećajte brojač za 1, funkcija memcache_decrement () dekrementi brojač

Najvažniji

Predmemoriranje u aplikacijama temeljenim na Memcacheu vrlo je moćan alat. Ne zaboravite da Memcache ne jamči sigurnost vaših podataka. To znači da se ne možete osloniti na činjenicu da će podaci spremljeni 60 minuta biti u predmemoriji točno 60 minuta.

Iako ExpressionEngine vrlo brzo gradi vaše web stranice, primijetit ćete da postoji izravna korelacija između brzine učitavanja stranice i količine dinamičkih informacija koje sadrži. Što više oznaka i varijabli koristite, to više ciklusa obrade predložak mora dovršiti.

Tehnologija predmemorije u ExpressionEngineu sastoji se od nekoliko neovisnih sustava i postavki za predmemoriju podataka.

Predmemorija upita

Sustav za predmemoriju upita pamti rezultate upita iz vaše baze podataka, pohranjujući svaki upit kao tekstualnu datoteku. Kada posjetitelji pristupe vašim web stranicama, datoteke predmemorije provjeravaju se za specifične zahtjeve koji su potrebni prilikom izrade stranica. Ako se pronađe, ExpressionEngine koristi podatke iz predmemorije umjesto da postavlja upite u vašu bazu podataka. To osigurava značajno smanjenje ukupnog opterećenja vaše baze podataka. Sustav predmemorije upita potpuno je dinamičan, što znači da se automatski ažurira kada se u vašu bazu podataka dodaju nove informacije.

Neki se upiti ne mogu predmemorirati jer se njihova sintaksa dinamički mijenja pri svakom izvršenju. Upit za prikaz osnovnog odjeljka, na primjer, uvijek provjerava odgovara li datum završetka objave objave trenutačnom vremenu kako bi se utvrdilo je li datum objavljivanja posta završio. To prisiljava sustav da izvrši promjene u upitima pri svakom učitavanju stranice; stoga nije moguće koristiti standardno predmemoriranje upita za njega. (Pogledajte alternativu koja se može koristiti u mnogim slučajevima.)

Sustav predmemorije zahtjeva omogućuje od 30% do 90% - smanjenje ukupnog broja zahtjeva ovisno o tome kako su vaše stranice stvorene.

Ova se značajka može ručno onemogućiti na stranici konfiguracije baze podataka na upravljačkoj ploči.

Keširanje oznaka

Sustav za predmemoriju oznaka omogućuje vam da predmemorirate izlaz pojedinačnih oznaka. To vam daje mogućnost da neke dijelove svojih stranica renderirate potpuno dinamički, dok druge ostavljate za statičko renderiranje. Spremanjem pojedinačnih oznaka u predmemoriju smanjujete broj skripti i poslužiteljskih resursa potrebnih za renderiranje bilo koje stranice, dok održavate potpuno dinamičnu prezentaciju samo tamo gdje je to potrebno.

Predmemorija oznaka čuva se korisnički definirani vremenski interval. Nakon navedenog vremenskog intervala, predmemorija se automatski osvježava.

Da biste omogućili predmemoriju oznaka, dodajte sljedeća dva parametra za bilo koji označiti:

Predmemorija = "da" osvježi = "10"

Bilješka: osvježavanje označava vrijeme, u minutama, između ažuriranja predmemorije.

Na primjer, da biste oznaku predmemorirali 30 minuta, učinili biste sljedeće:

(exp: weblog: predmemorija unosa = "da" osvježi = "30")

Predmemorija predložaka

Predmemorija predložaka (ili dinamička predmemorija stranica) omogućuje vam da predmemorirate sve predloške, čineći vaše stranice puno lakšim. Budući da ExpressionEngine zahtijeva više skripti i upita baze podataka za upravljanje osnovnim resursima, ne možete dobiti 100% statične stranice, uvijek će ih biti malo manje.

Predmemorija predložaka, kao i predmemorija oznaka, temelji se na vremenu. Da biste omogućili predmemoriju predložaka, kliknite vezu "Postavke" na stranici s predlošcima. Na njemu morate omogućiti predmemoriju i postaviti vremenski interval ažuriranja.

To nazivamo dinamičkim predmemoriranjem stranica jer sustav automatski briše predmemoriju kada se dogode određeni događaji. Na primjer, ako spremate stranicu s komentarima, kada netko doda komentar, predmemorija će se obrisati, čime se trenutno poništava postavka predmemorije.

Bilješka: Predmemorija predložaka zamjenjuje predmemoriju oznaka. Nema dodatne koristi od istodobne upotrebe predmemorije oznaka i predložaka. Ako je predmemorija stranica omogućena, druge vrste predmemorije nisu na snazi. Stoga, ako želite predmemorirati pojedinačne oznake, isključite predmemoriju stranica.

Predmemoriranje upita dinamičkih odjeljaka

Ova se postavka nalazi na stranici Admin> Global Section Settings. Ova funkcija će povećati brzinu obrade oznake (exp: weblog: entries) predmemoriranjem zahtjeva koji se obično rade dinamički. Međutim, ova opcija nije prikladna za sve ljude.

Omogućite ovu značajku samo ako ste ne koristiti "buduće" ili "prošle" zapise.

Onemogućavanje zahtjeva

Parametar disable = dostupan je u oznaci (exp: weblog: entries). Omogućuje vam da onemogućite značajke oznaka koje ne koristite za poboljšanje performansi. Oznaka unosa webloga je dizajnirana za dohvaćanje puno informacija prema zadanim postavkama: kategorije, prilagođena polja, korisnički podaci itd. Ovisno o tome kako koristite oznaku, neke od ovih informacija možda neće biti potrebne. S parametrom "onemogući" možete onemogućiti ove značajke oznake kako biste je učinili "laganijom".

Sintaksa za parametar onemogućavanja je: disable = "STAVKA KOJU ŽELITE ONEMOGUĆITI". Postoji pet elemenata koji se mogu isključiti:

  • kategorije
  • kategorija_polja
  • Prilagodljiva Polja
  • podaci o članu
  • paginacija
  • trackbacks

Možete onemogućiti više stavki tako da ih odvojite kao što je prikazano u nastavku:

Onemogući = "kategorije | podaci_člana | povratne informacije"

Najbolji pristup je ispitati podatke koje dajete pomoću oznake od slučaja do slučaja. Ako postoji vrsta podataka koju ne koristite, onemogućite je.

Na primjer, ako koristite oznaku unosa webloga za prikaz naslova 10 najnovijih unosa:

(exp: weblog: entries orderby = "date" sort = "desc" limit = "10")
(titula)

(/ exp: weblog: unosi)

U ovom primjeru prikazujete samo naslove svojih postova, ništa drugo; međutim, oznaka weblog automatski dohvaća kategorije i druge podatke. Pomoću parametra disable = možete onemogućiti nepotrebne funkcije kako biste ih isključili iz zahtjeva. U našem slučaju vam nije potrebna nijedna funkcija, a sve se mogu onemogućiti.

(exp: weblog: entries orderby = "date" sort = "desc" limit = "10" disable = "categories | custom_fields | member_data | pagination | trackbacks")
(titula)

(/ exp: weblog: unosi)

Bilješka: Također možete koristiti parametar disable = "category_fields" u oznakama

Što je cache? Je li moguće izbrisati predmemoriju aplikacija na android telefonu? Da, možete. Trebam li obrisati predmemoriju na androidu? To je potrebno i nepotrebno.

Zašto je to potrebno i nepotrebno te što učiniti za vas, utvrdite čitanjem ovog unosa do kraja, iako je princip jednostavan: brisanjem predmemorije dobit ćete više memorije, ali se brzina pristupa podacima može smanjiti.

Broj prijava kod većine vlasnika u stalnom je porastu. Ponekad toliko velik da usporava sustav.

Stoga ih se povremeno trebate riješiti. U novijim verzijama to možete učiniti jednim gumbom.

Idite na "Postavke", zatim na karticu memorije, a zatim na predmemoriju podataka. Bit ćete upitani želite li se riješiti svih podataka.

Ovaj se korak može postaviti tako da se povremeno automatski ponavlja kako bi se sustav održao u dobrom stanju.

Kako radi cache

Je li predmemorija aplikacija na android telefonu relativno mala u usporedbi s kapacitetom pohrane pametnog telefona ili tableta?

Njegov zadatak je smanjiti vrijeme pristupa za obradu podataka i minimizirati opterećenje RAM-a kako bi ga učinio dostupnim drugim uređajima.

Premošćuje jaz između povećanja produktivnosti i brzine pristupa medijima.

Korištenje cache memorije ima dvije prednosti: smanjeno vrijeme pristupa i učinkovitije korištenje kroz ugrađeni inteligentni algoritam za pohranu.

Memorijski kontroler detektira slijed često ponavljanih operacija i presreće ih tijekom izvršavanja te ih zamjenjuje podacima iz predmemorije.

Dakle, procesor zadržava dug put do pristupa glavnoj memoriji. Petlja u predmemoriji je mnogo puta brža nego da je preuzeta iz glavne memorije.

Što se događa ako izbrišete predmemoriju

Ništa se neće dogoditi ako izbrišete predmemoriju memorije. To je zbirka podataka koja je "nacrt" izvornih vrijednosti pohranjenih negdje drugdje.

Drugim riječima, predmemorija je privremena pohrana u koju se mogu pohraniti često korišteni podaci za brzi pristup.


Keširanje Android uređaja tehnologija je temeljena na memorijskom podsustavu. Glavni cilj je ubrzati svoj android da puno brže izvršava zadatke.

Da biste razumjeli osnovni koncept predmemorije, pogledajte jednostavan knjižničarski primjer.

Kada prvi klijent dođe po knjigu, knjižničar odlazi u skladište i vraća se na šalter s knjigom da bi ga dao naručitelju.

Kasnije se klijent vraća da vrati knjigu. Knjižničarka nosi knjigu u skladište, vraća se na šalter i čeka drugog klijenta.

Pretpostavimo da je sljedećem klijentu potrebna upravo ova knjiga. Knjižničar se mora vratiti u skladište kako bi ponovno preuzeo knjigu i odnio je novom klijentu.


Prema ovom modelu, knjižničar mora napraviti potpuni put do svake knjige. Priložimo cache knjižničaru – dajte mu ruksak u koji može pohraniti 10 knjiga.

U ovaj ruksak će staviti knjige koje klijenti vraćaju – najviše 10. Sada, kada dođe još jedan klijent, sve što knjižničar treba učiniti je uzeti knjigu iz ruksaka i dati je naručitelju, pa je klijent uslužen. brže.

Gotovo sve radi na ovaj način na android telefonu. Kao što vidite, puno ovisi i o glasnoći i čišćenju - brzina servisa se smanjuje, u našem slučaju radi se o performansama android sustava.

Stoga je zaključak sljedeći: možete očistiti keš memoriju na androidu, ali trebate li ga očistiti ovisi o vama. Sretno.

Računalo, nažalost, ne izvršava odmah naredbe koje prima od ljudi. Brojni trikovi koriste se za ubrzavanje ovog procesa, a caching zauzima ponosno mjesto među njima. Što je? Što su podaci iz predmemorije? Kako se taj proces zapravo odvija? Što su, na primjer, predmemorirani podaci u Samsung pametnom telefonu i razlikuje li se od onoga što se nalazi na računalu? Prijeđimo na dobivanje odgovora na ova pitanja.

Ovo je naziv srednjeg međuspremnika koji omogućuje brzi pristup informacijama, čija je vjerojatnost najvjerojatnije zatražena. U njemu se nalaze svi podaci. Važna prednost je što sve potrebne informacije možete dohvatiti iz predmemorije mnogo brže nego iz originalne trgovine. Ali postoji značajan nedostatak - veličina. Predmemorirane podatke koriste preglednici, tvrdi diskovi, procesori, web poslužitelji, WINS i DNS. Struktura se temelji na skupovima zapisa. Svaki od njih povezan je s određenim elementom ili blokom podataka, koji djeluju kao kopija onoga što se nalazi u glavnoj memoriji. Zapisi imaju identifikator (oznaku) koji se koristi za određivanje podudaranja. Pogledajmo iz malo drugačije perspektive: što su podaci iz predmemorije u Samsung telefonu ili drugom proizvođaču? Razlikuju li se od onih stvorenih u računalu? S temeljne točke gledišta - ne, razlika je isključivo u veličini.

Proces korištenja

Kada klijent (oni su gore navedeni) zatraži podatke, prva stvar koju računalo radi je pregledavanje predmemorije. Ako sadrži traženi unos, tada se koristi. U tim slučajevima dolazi do udarca. Povremeno se podaci iz predmemorije kopiraju u glavnu memoriju. Ali ako traženi unos nije pronađen, sadržaj se pretražuje u temeljnoj pohrani. Sve preuzete informacije prenose se u predmemoriju kako bi im se kasnije mogao brže pristupiti. Postotak uspješnosti zahtjeva naziva se stopa pogodaka ili stopa pogodaka.

Ažuriranje podataka

Kada se koristi, recimo da web preglednik provjerava lokalnu predmemoriju kako bi pronašao kopiju stranice. S obzirom na ograničenja ovoga, u slučaju promašaja donosi se odluka da se dio informacija odbaci kako bi se oslobodio prostor. Različiti preventivni algoritmi se koriste za odlučivanje što će se zamijeniti. Usput, ako govorimo o tome što su predmemorirani podaci na Androidu, onda se oni većinom koriste za rad sa slikama i podacima aplikacija.

Politika snimanja

Tijekom izmjene sadržaja predmemorije ažuriraju se i podaci u glavnoj memoriji. Vremenski odmak koji prolazi između unosa informacija ovisi o politici unosa. Postoje dvije glavne vrste:

  1. Odmah snimanje. Svaka promjena sinkrono se bilježi u glavnoj memoriji.
  2. Odgoda ili povrat. Podaci se ažuriraju periodično ili na zahtjev klijenta. Za praćenje je li napravljena promjena, koristi se zastava s dva stanja: "prljavo" ili promijenjeno. U slučaju promašaja mogu se izvršiti dva poziva, usmjerena na glavnu memoriju: prvi se koristi za upisivanje podataka koji su promijenjeni iz predmemorije, a drugi se koristi za čitanje tražene stavke.

Može se dogoditi da informacije u međuspremniku postanu nevažne. To se događa kada se podaci u glavnoj memoriji mijenjaju bez prilagodbe predmemorije. Za dosljednost svih procesa uređivanja koriste se koherentni protokoli.

Suvremeni izazovi

S povećanjem frekvencije procesora i povećanjem performansi RAM-a, pojavilo se novo problematično područje - ograničeno sučelje. Što od toga može primijetiti upućena osoba? Cache memorija je vrlo korisna ako je frekvencija u RAM-u manja nego u procesoru. Mnogi od njih imaju vlastiti međuspremnik za smanjenje vremena pristupa RAM-u, koji je sporiji od registara. CPU-i koji podržavaju virtualno adresiranje često imaju mali, ali vrlo brzi međuspremnik prijevoda adresa. Ali u drugim slučajevima, predmemorija nije od velike koristi, a ponekad samo stvara probleme (ali to je obično na računalima koja su modificirani od strane neprofesionalaca). Usput, govoreći o tome što su podaci iz predmemorije u memoriji pametnog telefona, treba napomenuti da se zbog male veličine uređaja moraju kreirati nove minijaturne implementacije predmemorije. Neki se telefoni sada mogu pohvaliti parametrima naprednih računala prije deset godina - i kolika je razlika u njihovoj veličini!

Sinkronizacija podataka između različitih međuspremnika

  1. Inkluzivno. Predmemorija se može ponašati kako želite.
  2. Ekskluzivan. Razvijeno za svaki konkretan slučaj.
  3. Neisključivo. Rasprostranjen standard.

Razine predmemorije

Njihov broj je obično tri ili četiri. Što je veća razina memorije, to je veća i sporija:

  1. L1 predmemorija. Najbrža razina predmemorije je prva. Zapravo, on je dio procesora, budući da se nalazi na jednoj pločici i pripada funkcionalnim blokovima. Obično se dijeli na dvije vrste: predmemoriju instrukcija i predmemoriju podataka. Većina modernih procesora ne radi bez ove razine. Ova predmemorija radi na frekvenciji procesora, tako da joj se može pristupiti u svakom ciklusu takta.
  2. L2 predmemorija. Obično se nalazi zajedno s prethodnim. To je zajednička uspomena. Da biste saznali njegovu vrijednost, potrebno je cijeli volumen dodijeljen za predmemoriju podataka podijeliti s brojem jezgri u procesoru.
  3. L3 predmemorija. Najsporija, ali najveća ovisna predmemorija. Obično više od 24 MB. Koristi se za sinkronizaciju podataka koji dolaze iz različitih L2 predmemorija.
  4. L4 cache. Upotreba je opravdana samo za višeprocesorska računala i poslužitelje visokih performansi. Izvodi se kao zaseban mikro krug. Ako postavite pitanje što je keširanje podataka u Samsung pametnom telefonu i tražite ovu razinu u tome, mogu reći da su žurili 5 godina.

Asocijativnost predmemorije

Ovo je temeljna karakteristika. Za prikaz logičke segmentacije potrebna je asocijativnost spremljenih podataka. To je pak potrebno zbog činjenice da sekvencijalno nabrajanje svih dostupnih linija traje desetke takta i negira sve prednosti. Stoga se tvrdo povezivanje RAM ćelija s podacima iz predmemorije koristi za smanjenje vremena pretraživanja. Usporedimo li međuspremnike koji imaju isti volumen, ali različitu asocijativnost, onda će onaj s velikom asocijativnošću raditi manje brzo, ali sa značajnom specifičnom učinkovitošću.

Zaključak

Kao što vidite, predmemorirani podaci, pod određenim uvjetima, omogućuju vašem računalu da djeluje brže. Ali, nažalost, još uvijek ima dosta aspekata na kojima se može dugo raditi.

Vjerojatno su se mnogi korisnici računala i mobilnih uređaja, barem povremeno, susreli s takvim konceptom kao što su "cached data". Što je to, mnogi, iskreno, jednostavno ne zamišljaju. Međutim, koristeći savjete o ubrzavanju bilo kojeg uređaja s operativnim sustavom, oni sigurno znaju da predmemoriju treba obrisati. To je djelomično točno, ali ne mogu se svi podaci izbrisati. Događa se da bez njih neki programi instalirani na uređaju jednostavno neće raditi.

Što općenito znače "podaci iz predmemorije"?

Dakle, pogledajmo opći koncept. Ugrubo govoreći, ovaj pojam opisuje podatke pohranjene u računalu ili mobilnom sustavu za ubrzavanje naknadnog pristupa nekim aplikacijama ili stranicama na Internetu preuzimanjem informacija, za čiji poziv na uobičajeni način treba više vremena.

Da bi bilo jasnije, možete dati primjer kako se koriste predmemorirani podaci. Što je, na primjer, ako korisnik posjeti web stranicu na kojoj gleda fotografije? To su njihove kopije u obliku minijatura koje se spremaju u posebnu mapu na tvrdi disk računala ili na internu pohranu mobilnog uređaja. Prilikom ponovnog ulaska na stranicu korisnik ne mora čekati da se sav sadržaj učita (primjerice, grafika, video i općenito multimedija), budući da se svi elementi dodaju na stranicu samo iz direktorija predmemorije.

u telefonu?

Ali ovo je bilo samo opće opravdanje. S internetom je sve jasno. Sada pogledajmo koji su podaci aplikacije u predmemoriji na telefonu (što znači apleti koji nisu web preglednici).

Zapravo, ove informacije su donekle slične spremljenim podacima s Interneta, samo što su najvećim dijelom povezane sa spremanjem postavki ili specifičnim sadržajem bilo kojeg programa s kojim operativni sustav radi. Da bi bilo malo jasnije, pogledajmo nekoliko primjera u nastavku.

Primjeri korištenja predmemorije

Pogledajmo neke od osnovnih tipova podataka koje možete ili ne možete izbrisati. U prvom slučaju to se odnosi na sve aplikacije instalirane na sustavu, osim ako je za njihovu punu funkcionalnost predviđena upotreba dodatne predmemorije, koja se razlikuje od sistemske.

No s posebnim sadržajem predmemorije, koji se često mora samostalno kopirati na telefon ili tablet ili dodatno preuzeti s interneta, situacija je nešto drugačija.

Najjednostavniji primjer su podaci iz predmemorije igre. Što bi to moglo biti? Sve što želite: dodatne teksture, grafiku, video, audio ili čak parametre same igre. Takve se informacije, kao što je već jasno, ni u kojem slučaju ne mogu izbrisati, jer se tada igra jednostavno neće pokrenuti ili će dati grešku da to i to nije dovoljno za početak.

Isto vrijedi i za neke glazbene aplikacije za mobilne uređaje. Uzmimo FL Studio Mobile kao primjer. Čak ni vlastiti instalacijski program aplikacije nema sve što sekvenceru treba za pokretanje. Drugim riječima, instalirana je samo glavna ljuska.

Koji su podaci aplikacije u predmemoriji na telefonu u odnosu na ovu vrstu aplikacije? To su skupovi alata, efekata, postavki za interakciju s drugim programima, opcija za podršku određenih audio formata itd. U pravilu se takva predmemorija pohranjuje u posebnu obb mapu, koja se nalazi na internoj memoriji, osim ako nije naznačeno da se može staviti na memorijsku karticu koja se može ukloniti. Takve informacije zauzimaju puno mjesta, ali bez njih aplikacija će biti nefunkcionalna (što je samo jedna softverska ljuska, u kojoj nema alata ili efekata?).

Brisanje predmemorije na mobilnom uređaju pomoću standardnih alata

Što su keširani podaci u telefonu, malo smo shvatili. Pogledajmo sada probleme čišćenja takvog sadržaja, jer on ima tendenciju usporavanja sustava.

Svaki Android uređaj ima dva alata za čišćenje predmemorije. Prvi je dizajniran za brisanje podataka za sve aplikacije, drugi vam omogućuje brisanje predmemorije samo za jedan pojedinačni aplet.

Ako želite izbrisati cjelinu, koristi se izbornik postavki u kojem se odabire memorijski dio. Kada dodirnete red s predmemoriranim podacima, sustav izdaje upozorenje da će sve informacije biti izbrisane. Samo se slažemo i čekamo da se čišćenje završi.

Sada još nekoliko riječi o tome što su predmemorirani podaci aplikacije u smislu brisanja za zasebno odabrani aplet. Informacije o njima možete pronaći u istom memorijskom odjeljku, ali s prijelazom na izbornik aplikacija.

Zatim samo trebate odabrati željeni applet, a nakon što uđete u njegov izbornik s dna, dodirnite gumb za brisanje predmemorije. Općenito, i prva i druga metoda izgledaju pomalo nezgodno, jer se u ovom slučaju može izvesti takozvano brisanje iz različitih izvora. Stoga je bolje koristiti posebne programe.

Korištenje optimizatora i čistača

Danas su mnogi takvi programi stvoreni po analogiji sa stacionarnim računalnim sustavima. U istim repozitorijima na Play Marketu ili AppStoreu možete ih pronaći ne desetke, već stotine.

Predmemorirani podaci (koji su već jasni) mogu se izbrisati za cijeli sustav i za svaki odabrani aplet.

Što se samih programa tiče, čini se da su najpoželjnije usko usmjerene aplikacije i apleti za opću optimizaciju. Prvi su predstavljeni programima kao što su App Cache Cleaner, Auto Cahe Cleaner itd.

Među optimizatorima posebno možemo istaknuti mobilne verzije CCleanera, All-in-one Toolbox i mnoge druge. Što točno koristiti, već je stvar osobnih preferencija, jer svaki takav program ima svoje prednosti i nedostatke.

Umjesto totalne

To je sve o razumijevanju pojma "spremljeni podaci". Što je to, mislim, već je jasno većini korisnika. Međutim, pitanju čišćenja takvih informacija treba pristupiti s krajnjim oprezom, jer za neke vrste programa, kao što je gore spomenuto, može biti potrebno u radu. Ali kao što pokazuje praksa, bolje je obratiti se komunalnim uslugama opće namjene. U njima je alat za brisanje predmemorije obavezan modul. A kada ih koristite, istovremeno možete i ubrzati sustav.

Vrhunski povezani članci