Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Regjistrimi i disqeve të jashtme[. Çfarë është memoria cache? Çfarë është cache për Android

Regjistrimi i disqeve të jashtme[. Çfarë është memoria cache? Çfarë është cache për Android

Caching- kjo është një nga metodat e optimizimit Ueb aplikacionet. Në çdo aplikacion ka operacione të ngadalta ( Pyetjet SQL ose kërkesa për API të jashtme), rezultatet e të cilave mund të ruhen për ca kohë. Kjo do t'ju lejojë të kryeni më pak operacione të tilla dhe të shfaqni të dhënat e para-ruajtura për shumicën e përdoruesve.

Teknologjia më e popullarizuar e memorizimit për aplikacionet në ueb është Memcache.

Kur të ruhet memoria

Përpiquni të shmangni ruajtjen në memorie, përveç rasteve kur është absolutisht e nevojshme. Kjo është një teknikë e thjeshtë, por zvogëlon fleksibilitetin e aplikacionit. Mos e bej punë shtesë paraprakisht, por merrni parasysh përdorimin e caching në të ardhmen:

  • Përdorni klasa ose funksione për të punuar me të dhënat. Mos përdorni zgjedhje të përsëritura SQL në aplikacionin kryesor.
  • Përdorni mbështjellës për të punuar me API të jashtme.

Çfarë të ruhet në memorie?

Ju duhet të ruani memorien e të dhënave që gjenerohen ngadalë dhe kërkohen shpesh. Në praktikë, kjo zakonisht është:

  • Rezultatet e kërkesave për shërbimet e jashtme (RSS, SOAP, REST, etj.).
  • Rezultatet e mostrave të ngadalta nga baza e të dhënave.
  • Gjeneruar blloqe html ose faqe të tëra.

Memoria e zgjedhjeve të bazës së të dhënave

Pyetjet e bazës së të dhënave janë shembulli më i zakonshëm. Zbatimi i bazuar në Memcache është shumë i thjeshtë:

!$list = memcache_get("përdoruesit_online")) ( $sql = "SELECT * FROM përdoruesit WHERE last_visit > UNIX_TIMESTAMP() - 60*10"; $q = mysql_query($sql); ndërsa ($row = mysql_fetch_assoc($q)) $list = $rresht; memcache_set("përdoruesit_online", $lista, 60*60);) ktheni listën e $; ) $lista = merrni_përdoruesit_online(); ...

# Kërkesa për të marrë përdoruesit ruhet në memorie për 1 orë

Përditësimi i të dhënave

Nëse ruani të dhënat e memories që mund të përditësohen, duhet të pastroni cache-në pas çdo përditësimi:

memcache_delete("përdorues" . $id); }

Memoria e listës

Le të themi se keni ruajtur të dhënat e secilit përdorues, si në shembull, si dhe listat e tyre (për shembull, një listë e përdoruesve në internet). Kur përditësoni të dhënat e përdoruesit, ju fshini të dhënat nga cache vetëm për përdoruesin e specifikuar. Por të dhënat e tij mund të jenë të pranishme edhe në listën e përdoruesve online, të cilët janë edhe në cache. Rivendosja e listave sa herë që përditësohen të dhënat e ndonjë përdoruesi nuk është efikas. Prandaj, zakonisht përdoret kjo qasje:

  1. Ata ruajnë listat e memories që përbëhen vetëm nga ID-të e përdoruesve.
  2. Për të shfaqur një listë, dërgohet një kërkesë e veçantë për të marrë të dhënat e secilit përdorues.

Zbatimi duket si ky:

id NGA përdoruesit WHERE fundit_vizita > UNIX_TIMESTAMP() - 60*10"; $q = mysql_query($sql); ndërsa ($row = mysql_fetch_assoc($q)) $list = $rresht["id"]; memcache_set("përdoruesit_online", $lista, 60*60); ) ktheni listën e $; ) $lista = merrni_përdoruesit_online(); foreach ($lista si $id) ($user = get_user($id); ...)

# Le të marrim një listë të ID-ve të përdoruesve dhe të marrim të dhënat më të fundit për secilën prej tyre

Për të marrë të dhëna nga disa objekte në të njëjtën kohë, mund të përdorni Multiget.

Kërkesa të përsëritura

Disa të dhëna mund të kërkohen disa herë brenda së njëjtës faqe, për shembull:

get_user($_SESSION["id"])["emri"])?>

... Email:get_user($_SESSION["id"])["email"]?> ... get_user($_SESSION["id"])["nick"]?>">Faqja ime...

Çdo thirrje get_user () do të marrë të dhëna nga cache. Nëse Memcache është në një server të veçantë, do të shkaktojë shumë trafik në rrjet dhe vonesa.

Për të shmangur këtë, mund të përdorni një cache shtesë brenda vetë aplikacionit:

globale $app_cache; nëse ($app_cache["user" . $id]) ktheni $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 ("përdorues" . $id, $data, 60*60); $app_cache["përdorues" . $id] = $të dhëna;) ktheni $data; ) funksioni save_user ($id, $data) ( globale $app_cache; mysql_query("Përditëso përdoruesit SET ... WHERE id = " . intval($id)); memcache_delete("përdorues" . $id); unset ($app_cache["përdorues" . $id]); }

Në aplikacionet reale, ka kuptim të keni një mbështjellës Memcache me një cache shtesë:

inner_cache)) kthen $this->inner_cache[$key]; $data = memcache_get($this->burimi, $key); $this->inner_cache[$key] = $data; ktheni $data["vlera"]; ) grup funksioni statik publik ($key, $value, $ttl) ( memcache_set($key, $value, $ttl); $this->cache_inner_cache[$key] = $value; ) funksioni statik publik del($key) ( memcache_delete ($key); unset ($this->inner_cache[$key]); ) )

# $inner_cache ruan cache shtesë

Kujdes. Përdorimi i kësaj qasjeje mund të çojë në rrjedhje të memories në rastet kur punoni me një sasi të madhe të dhënash në cache. Për shembull, në detyrat cron (le të themi se po përsërisim mbi të gjithë përdoruesit për të dërguar një buletin). Atëherë është më mirë të shtoni çaktivizimin e cache-it të brendshëm:

statike publike $inner_cache_enabled = e vërtetë; funksioni publik statik get($key) (nëse ( vetë::$inner_cache_enabled&& array_key_exists($key, $this->inner_cache)) kthen $this->inner_cache[$key]; $data = memcache_get($this->burimi, $key); $this->inner_cache[$key] = $data; ktheni $data["vlera"]; ) grup funksioni statik publik ($kyç, $vlerë, $ttl) ( memcache_set($kyç, $vlerë, $ttl); nëse (vetë::$inner_cache_enabled)$this->cache_inner[$key] = $value; ) funksioni statik publik del($key) (memcache_delete($key); unset($this->inner_cache[$key]); ) ) ... mem_cache::$inner_cache_enabled = false;

# Çaktivizo memorien e brendshme

Nxemje

Kur përditësoni të dhëna veçanërisht të rënda, nuk duhet të rivendosni cache, por të përditësoni drejtpërdrejt të dhënat në të:

# operacione për përditësimin e burimeve të jashtme $data = file_get_contents ("http://rss.com/rss"); memcache_set("rss", $data, 60*60); }

Kjo do të shmangë shpenzimet shtesë të tërheqjes së rëndë kur të hiqet çelësi. Kjo teknikë përdoret zakonisht në punët e kronëve për të përditësuar periodikisht rezultatet e mostrave shumë të rënda.

Koha e jetës (ttl)

ttl (koha për të jetuar) është koha pas së cilës të dhënat do të fshihen nga cache. Memcache instalohet në sekonda:

60*60 );

# Cakto ttl në 1 orë

Më shpesh, TTL vendoset nga disa minuta në disa ditë. Mos përdorni vlerën 0 (ruajtje e pafundme), kjo mund të bllokojë kujtesën.

LRU

Çdo cache funksionon në parimin e dëbimit nëse nuk ka memorie të mjaftueshme. Ato. Nëse Memcache mund të përdorë një maksimum prej 1G memorie dhe ju po përpiqeni të ruani çelësat në 2G, atëherë Memcache do të fshijë gjysmën e këtyre të dhënave. Për të përcaktuar se cilët çelësa të fshihen, përdoret algoritmi LRU (më së paku i përdorur së fundmi):

Memcache do të përpiqet të fshijë para së gjithash ato të dhëna që janë kërkuar shumë kohë më parë (d.m.th., do të fshijë ato më pak të njohura dhe do të lërë ato më të njohura).

Memoria e pyetjeve shumë të ngadalta

Imagjinoni që keni një kërkesë që kërkon 10 sekonda për të përfunduar. E ruani në cache për 1 orë. Kur kalon kjo kohë, të dhënat në cache fshihen. Në 10 sekondat e para pas kësaj, ju përballeni me një situatë ku disa përdorues e quajnë njëkohësisht këtë kërkesë të vështirë. Kjo mund të çojë në pasoja katastrofike, sepse... brenda 10 sekondave mund të ketë disa qindra ose mijëra thirrje të tilla.

Për të shmangur këtë, është e nevojshme të përdorni një teknikë të veçantë dyfishimi.

Operacionet atomike

Ndonjëherë numëruesit (për shembull, numri i përdoruesve) ruhen në cache. Kur shtoni përdorues të rinj, në vend të rivendosjes së numëruesit dhe marrjes së mostrave, thjesht mund të rrisni vlerën e cache me një. Por kjo nuk mund të bëhet përmes aplikacionit, sepse... kjo do të rezultojë në humbjen e të dhënave nga dy pyetje të ekzekutuara njëkohësisht:

Memcache mbështet dy operacione atomike të rritjes dhe zvogëlimit:

# Rritni numëruesin me 1, funksion memcache_decrement() zvogëlon numëruesin

Më e rëndësishmja

Caching në aplikacionet e bazuara në Memcache është një mjet shumë i fuqishëm. Mos harroni se Memcache nuk garanton sigurinë e të dhënave tuaja. Kjo do të thotë që të dhënat e ruajtura për 60 minuta nuk mund të pritet të qëndrojnë në cache për saktësisht 60 minuta.

Megjithëse ExpressionEngine krijon faqet tuaja të internetit shumë shpejt, do të vini re se ekziston një lidhje e drejtpërdrejtë midis shpejtësisë së ngarkimit të faqes dhe sasisë së informacionit dinamik që ajo përmban. Sa më shumë etiketa dhe variabla të përdorni, aq më shumë cikle përpunimi duhet të kryejë motori i shabllonit.

Teknologjia e memorizimit në ExpressionEngine përbëhet nga disa sisteme dhe cilësime të pavarura të ruajtjes së të dhënave.

Ruajtja në memorie e pyetjeve

Sistemi i memorizimit të pyetjeve kujton rezultatet e pyetjeve nga databaza juaj, duke ruajtur çdo pyetje si një skedar teksti. Kur vizitorët hyjnë në faqet tuaja të internetit, skedarët e memories kontrollohen për të parë nëse ka ndonjë kërkesë specifike të nevojshme për të krijuar faqet. Nëse gjendet, ExpressionEngine përdor të dhënat e ruajtura në memorie në vend që të kërkojë nga databaza juaj. Kjo siguron një reduktim të ndjeshëm në ngarkesën e përgjithshme në bazën e të dhënave tuaja. Sistemi i memorizimit të pyetjeve është plotësisht dinamik, që do të thotë se përditësohet automatikisht kur informacioni i ri shtohet në bazën tuaj të të dhënave.

Disa pyetje nuk mund të ruhen në memorie, sepse sintaksa e tyre ndryshon në mënyrë dinamike sa herë që ekzekutohet. Kërkesa e shfaqjes së seksionit kryesor, për shembull, kontrollon gjithmonë datën e mbarimit të një postimi që do të publikohet kundrejt kohës aktuale për të përcaktuar nëse postimi ka skaduar. Kjo e detyron sistemin të bëjë ndryshime në pyetje sa herë që ngarkohet faqja; prandaj nuk është e mundur të përdoret caching standard i pyetjeve për të. (Shih si një alternativë që mund të përdoret në shumë raste.)

Një sistem i memorizimit të pyetjeve siguron diku nga një reduktim prej 30% në 90% në numrin e përgjithshëm të pyetjeve, në varësi të mënyrës se si janë ndërtuar faqet tuaja.

Ky funksion mund të çaktivizohet manualisht nga faqja e konfigurimit të bazës së të dhënave në Panelin e Kontrollit.

Ruajtja e etiketave në memorie

Sistemi i memorizimit të etiketave ju lejon të ruani memorien e prodhimit të etiketave individuale. Kjo ju jep mundësinë për të shfaqur disa pjesë të faqeve tuaja plotësisht në mënyrë dinamike, duke lënë të tjerat të shfaqen në mënyrë statike. Duke ruajtur etiketat individuale në memorie, ju do të zvogëloni numrin e skripteve që ekzekutohen dhe burimet e serverit që kërkohen për të dhënë çdo faqe, duke ruajtur një pamje plotësisht dinamike vetëm aty ku kërkohet.

Cache e etiketave ruhet për një interval kohor të përcaktuar nga përdoruesi. Pasi të ketë kaluar intervali kohor i caktuar, cache përditësohet automatikisht.

Për të aktivizuar memorien e etiketave, shtoni dy parametrat e mëposhtëm ndonjë etiketë:

Cache = "po" rifreskoni = "10"

Shënim: refresh përcakton kohën, në minuta, ndërmjet përditësimeve të cache-it.

Për shembull, për të ruajtur një etiketë për 30 minuta, do të bëni sa më poshtë:

(exp:weblog:entries cache="po" refresh="30")

Memoria e shabllonit

Ruajtja në memorie e shablloneve (ose memoria dinamike e faqeve) ju lejon të ruani të gjitha shabllonet tuaja, duke i bërë faqet tuaja shumë më të lehta. Meqenëse ExpressionEngine kërkon ekzekutimin e shumë skripteve dhe pyetjeve të bazës së të dhënave për të menaxhuar burimet bazë, nuk mund të merrni 100% faqe statike, gjithmonë do të ketë pak më pak.

Ruajtja në memorie e shablloneve, si ruajtja e etiketave, bazohet në kohë. Për të aktivizuar memorien e shablloneve, klikoni lidhjen "Cilësimet" në faqen e shablloneve. Në të duhet të aktivizoni caching dhe të vendosni intervalin kohor të përditësimit.

Ne e quajmë këtë memorie dinamike të faqeve sepse sistemi e pastron automatikisht cache-in kur ndodhin ngjarje të caktuara. Për shembull, nëse ruani faqen e komenteve, kur dikush shton një koment, memoria e fshehtë do të pastrohet për një moment, duke anashkaluar cilësimin e memorizimit.

Shënim: Memoria e memories së shabllonit zëvendëson ruajtjen e etiketave. Nuk ka asnjë përfitim shtesë nga përdorimi i cachimit të etiketave dhe modeleve në të njëjtën kohë. Nëse aktivizohet memoria e faqeve, nuk aktivizohet asnjë lloj tjetër i memorizimit. Prandaj, nëse doni të ruani memorien e etiketave individuale, çaktivizoni cachimin e faqeve.

Memoria e pyetjeve të ndarjeve dinamike

Ky cilësim ndodhet në faqen Admin > Cilësimet e seksionit global. Kjo veçori do të rrisë shpejtësinë e përpunimit të etiketës (exp:weblog:entries) duke ruajtur memorien e kërkesave që normalisht do të ekzekutoheshin në mënyrë dinamike. Sidoqoftë, ky opsion nuk është i përshtatshëm për të gjithë njerëzit.

Aktivizoni këtë veçori vetëm nëse ju Jo përdorni të dhënat "e ardhme" ose "e kaluara".

Çaktivizimi i kërkesave

Opsioni disable= është i disponueshëm në etiketën (exp:weblog:entries). Kjo ju lejon të çaktivizoni veçoritë e etiketimit që nuk i përdorni për të përmirësuar performancën. Etiketa e hyrjeve në blog është krijuar për të marrë një sasi të madhe informacioni si parazgjedhje: Kategoritë, fushat e personalizuara, të dhënat e përdoruesit, etj. Në varësi të mënyrës se si e përdorni etiketën, disa nga këto të dhëna mund të mos jenë të nevojshme. Me opsionin "disable" ju mund t'i çaktivizoni këto veçori të etiketave për ta bërë atë më të lehtë.

Sintaksa për parametrin e çaktivizimit është: disable="ELEMENTI QË DUA TË DISAABLE" . Ka pesë elementë që mund të çaktivizohen:

  • kategoritë
  • kategori_fushat
  • fushat_e porositur
  • të dhënat e anëtarëve
  • faqezim
  • backbacks

Ju mund të çaktivizoni shumë elementë duke i ndarë ato siç tregohet më poshtë:

Disable = "kategoritë|të dhënat_e_anëtari|trackbacks"

Qasja më e mirë është të ekzaminoni të dhënat që nxirrni nga etiketa rast pas rasti. Nëse ka një lloj të dhënash që nuk po përdorni, çaktivizoni atë.

Për shembull, nëse përdorni etiketën e hyrjeve në blog për të shfaqur titujt e 10 hyrjeve më të fundit:

(exp:weblog:entries orderby="data" sort="desc" limit="10")
(titulli)

(/exp:weblog:entries)

Në këtë shembull, ju po shfaqni vetëm titujt e postimeve tuaja dhe asgjë tjetër; megjithatë, etiketa e blogut merr kategoritë dhe të dhënat e tjera automatikisht. Duke përdorur parametrin disable=, mund të çaktivizoni funksionet e panevojshme për t'i përjashtuar ato nga kërkesa. Në rastin tonë, ju nuk keni nevojë për asnjë nga veçoritë dhe të gjitha ato mund të çaktivizohen.

(exp:weblog:entries orderby="data" sort="desc" limit="10" disable="categories|fushat_custom|data_ember|pages|trackbacks")
(titulli)

(/exp:weblog:entries)

shënim: Mund të përdorni gjithashtu parametrin disable="category_fields" në etiketa

Çfarë është cache? A është e mundur të pastroni cache-in e aplikacionit në një telefon Android? Po ti mundesh. A duhet të pastroj cache në Android? E nevojshme dhe e panevojshme.

Pse është e nevojshme dhe e panevojshme, dhe çfarë duhet të bëni, përcaktoni duke lexuar këtë postim deri në fund, megjithëse parimi është i thjeshtë: duke pastruar cache, do të merrni më shumë memorie, por shpejtësia e aksesit të të dhënave mund të ulet.

Numri i aplikacioneve për shumicën e pronarëve po rritet vazhdimisht. Ndonjëherë aq i madh sa shkakton ngadalësimin e sistemit.

Prandaj, duhet t'i eliminoni periodikisht. Në versionet më të reja mund ta bëni këtë me një buton.

Shkoni te "Cilësimet", më pas te skeda e kujtesës dhe më pas te memoria e të dhënave. Do të pyeteni nëse dëshironi të hiqni qafe të gjitha të dhënat.

Ky hap mund të vendoset të përsëritet automatikisht periodikisht, gjë që do të ndihmojë në mbajtjen e sistemit në gjendje të mirë.

Si funksionon cache?

A është memoria e memories së aplikacionit në një telefon Android relativisht e vogël në krahasim me kapacitetin e memories së një smartphone ose tableti?

Detyra e tij është të zvogëlojë kohën e aksesit për përpunimin e të dhënave dhe të minimizojë ngarkesën në RAM për ta bërë atë të disponueshme për pajisjet e tjera.

Ai mbyll hendekun midis fitimeve të produktivitetit dhe shpejtësive të aksesit të medias së ruajtjes.

Përdorimi i memories cache ka dy përparësi: kohë të reduktuar të aksesit dhe përdorim më efikas përmes algoritmit inteligjent të ruajtjes së të dhënave të integruar.

Kontrolluesi i memories përcakton një sekuencë të operacioneve të përsëritura shpesh dhe, gjatë ekzekutimit, i kap ato dhe i zëvendëson me të dhëna nga cache.

Kështu, procesori mban një rrugë të gjatë aksesi në memorien kryesore. Cikli i cache-it është shumë herë më i shpejtë se sa nëse do të ishte marrë nga memoria kryesore.

Çfarë ndodh nëse fshini cache

Asgjë nuk do të ndodhë nëse fshini memorien e memories. Është një grup të dhënash që është një "kopje gjurmuese" e vlerave origjinale të ruajtura diku tjetër.

Me fjalë të tjera, një cache është një vend i përkohshëm ruajtjeje ku të dhënat e përdorura shpesh mund të ruhen për qasje të shpejtë.


Memoria e memories së pajisjes Android është një teknologji e bazuar në nënsistemin e kujtesës. Qëllimi kryesor është të shpejtoni androidin tuaj për të përfunduar detyrat shumë më shpejt.

Për të kuptuar konceptin bazë të memorizimit, shikoni një shembull të thjeshtë të një bibliotekari që punon.

Kur klienti i parë vjen për një libër, bibliotekari shkon në magazinë dhe kthehet në banak me librin për t'ia dhënë klientit.

Më vonë, klienti kthehet për të kthyer librin. Bibliotekari e merr librin, e çon në magazinë, kthehet në banak dhe pret një klient tjetër.

Le të supozojmë se klienti tjetër kishte nevojë pikërisht për të njëjtin libër. Bibliotekari duhet të kthehet në magazinë për ta marrë përsëri librin dhe për ta çuar te klienti i ri.


Sipas këtij modeli, bibliotekari duhet të kalojë rrugën e plotë për të marrë çdo libër. Le t'i vendosim një memorie bibliotekarit - jepini atij një çantë shpine në të cilën ai mund të ruajë 10 libra.

Në këtë çantë shpine, ai do të vendosë librat që klientët i kthejnë - maksimumi 10. Tani, kur vjen një klient tjetër, bibliotekari duhet të bëjë vetëm të marrë librin nga çanta e shpinës dhe t'ia japë klientit, kështu që klienti të shërbehet. më shpejt.

Pothuajse gjithçka funksionon në të njëjtën mënyrë në një telefon Android. Siç mund ta shihni, shumë varet edhe nga vëllimi dhe pastrimi - shpejtësia e shërbimit zvogëlohet, në rastin tonë kjo është performanca e sistemit Android.

Prandaj, përfundimi është ky: ju mund të pastroni cache-in në Android, por nëse duhet ta pastroni, varet nga ju që të vendosni. Paç fat.

Kompjuteri, mjerisht, nuk i ekzekuton menjëherë komandat që merr nga njerëzit. Për të përshpejtuar këtë proces, përdoren një sërë trukesh dhe memoria e fshehtë zë vend krenar midis tyre. Cfare eshte? Çfarë janë të dhënat e memories? Si ndodh në të vërtetë ky proces? Çfarë janë të dhënat e ruajtura në memorien e fshehtë në një smartphone Samsung, për shembull, dhe a janë ato në ndonjë mënyrë të ndryshme nga ato në një kompjuter? Le të fillojmë të marrim përgjigje për këto pyetje.

Ky është emri i tamponit të ndërmjetëm, i cili siguron akses të shpejtë në informacionin që ka më shumë gjasa të kërkohet. Të gjitha të dhënat përmbahen në të. Një avantazh i rëndësishëm është se ju mund të merrni të gjithë informacionin e nevojshëm nga cache shumë më shpejt sesa nga ruajtja origjinale. Por ka një pengesë të rëndësishme - madhësia. Të dhënat e memorizuara përdoren në shfletues, disqe të fortë, CPU, serverë ueb, shërbime WINS dhe DNS. Baza e strukturës janë grupet e të dhënave. Secili prej tyre shoqërohet me një element ose bllok specifik të dhënash, i cili vepron si një kopje e asaj që është në memorien kryesore. Regjistrimet kanë një identifikues (etiketë), i cili përdoret për të përcaktuar përputhjen. Le të shikojmë nga një këndvështrim pak më ndryshe: çfarë janë të dhënat e memorizuara në një telefon Samsung ose një prodhues tjetër? A janë ato të ndryshme nga ato të krijuara në një kompjuter? Nga një këndvështrim themelor - jo, ndryshimi është vetëm në madhësi.

Procesi i përdorimit

Kur një klient (ata u renditën më lart) kërkon të dhëna, gjëja e parë që bën kompjuteri është të ekzaminojë cache-in. Nëse përmban hyrjen e kërkuar, atëherë përdoret. Në këto raste, ndodh një goditje. Periodikisht, të dhënat nga cache kopjohen në memorien kryesore. Por nëse rekordi i kërkuar nuk u gjet, atëherë përmbajtja kërkohet në memorien themelore. I gjithë informacioni i marrë transferohet në cache në mënyrë që më vonë të mund të aksesohet më shpejt. Përqindja që pyetjet janë të suksesshme quhet shkalla e goditjes ose shkalla e goditjes.

Përditësimi i të dhënave

Kur përdoret, le të themi, një shfletues uebi kontrollon cache-në lokale për të gjetur një kopje të faqes. Duke pasur parasysh natyrën e kufizuar të të dhënave, në rast të mungesës, merret një vendim për të hequr një pjesë të informacionit për të liruar hapësirë. Për të vendosur se çfarë saktësisht do të zëvendësohet, përdoren algoritme të ndryshme dëbimi. Nga rruga, nëse flasim se cilat janë të dhënat e ruajtura në Android, atëherë në pjesën më të madhe ato përdoren për të punuar me fotografi dhe të dhëna aplikacioni.

Politika e regjistrimit

Kur modifikohet përmbajtja e cache-it, përditësohen edhe të dhënat në memorien kryesore. Vonesa kohore që kalon ndërmjet futjes së informacionit varet nga politika e regjistrimit. Ekzistojnë dy lloje kryesore:

  1. Regjistrim i menjëhershëm. Çdo ndryshim shkruhet në mënyrë sinkronike në memorien kryesore.
  2. Regjistrimi i vonuar ose i kundërt. Të dhënat përditësohen periodikisht ose me kërkesë të klientit. Për të gjurmuar nëse është bërë një ndryshim, përdorni një shenjë me dy gjendje: "i pistë" ose i ndryshuar. Në rast të mungesës, dy aksese mund të bëhen në memorien kryesore: e para përdoret për të shkruar të dhënat që janë modifikuar nga cache, dhe e dyta përdoret për të lexuar elementin e kërkuar.

Mund të ndodhë gjithashtu që informacioni në buferin e ndërmjetëm të bëhet i parëndësishëm. Kjo ndodh kur të dhënat në memorien kryesore ndryshojnë pa bërë rregullime në cache. Për të siguruar qëndrueshmëri në të gjitha proceset e redaktimit, përdoren protokollet e koherencës.

Sfidat moderne

Me një rritje të frekuencës së procesorëve dhe një rritje të performancës së RAM-it, është shfaqur një fushë e re problemore - kufizimet e ndërfaqes. Çfarë mund të vërejë një person i ditur nga kjo? Memoria cache është shumë e dobishme nëse frekuenca në RAM është më e ulët se në procesor. Shumë prej tyre kanë buferin e tyre të ndërmjetëm për të reduktuar kohën e hyrjes në RAM, e cila është më e ngadaltë se regjistrat. CPU-të që mbështesin adresimin virtual shpesh përfshijnë një buffer të vogël por shumë të shpejtë të përkthimit të adresave. Por në raste të tjera, cache nuk është shumë i dobishëm dhe ndonjëherë krijon vetëm probleme (por kjo zakonisht ndodh në kompjuterë që janë modifikuar nga një joprofesionist). Nga rruga, duke folur se cilat të dhëna të memories janë në kujtesën e një smartphone, duhet të theksohet se për shkak të madhësisë së vogël të pajisjes, është e nevojshme të krijohen zbatime të reja të cache-së në miniaturë. Në ditët e sotme, disa telefona mburren me parametra të ngjashëm me ato të kompjuterëve të avancuar dhjetë vjet më parë - dhe çfarë ndryshimi bën madhësia e tyre!

Sinkronizimi i të dhënave midis buferave të ndryshëm

  1. Gjithëpërfshirëse. Cache mund të sillet në çfarëdo mënyre.
  2. Ekskluzive. Zhvilluar për çdo rast specifik.
  3. Jo-ekskluzive. Standard i përhapur.

Nivelet e memorizimit

Numri i tyre është zakonisht tre ose katër. Sa më i lartë të jetë niveli i kujtesës, aq më i madh dhe më i ngadalshëm është:

  1. L1 cache. Niveli më i shpejtë i cache-it është i pari. Në fakt, është pjesë e procesorit, pasi ndodhet në një çip dhe i përket blloqeve funksionale. Zakonisht ndahet në dy lloje: cache e udhëzimeve dhe cache e të dhënave. Shumica e procesorëve modernë nuk punojnë pa këtë nivel. Ky cache funksionon në frekuencën e procesorit, kështu që mund të aksesohet në çdo cikël të orës.
  2. L2 cache. Zakonisht ndodhet së bashku me atë të mëparshmin. Është një kujtim i përbashkët. Për të zbuluar vlerën e tij, duhet të ndani të gjithë vëllimin e caktuar për ruajtjen e të dhënave me numrin e bërthamave që ka procesori.
  3. L3 cache. I ngadalshëm, por memoria më e madhe e varur. Zakonisht më shumë se 24 MB. Përdoret për të sinkronizuar të dhënat që vijnë nga cache të ndryshme të nivelit të dytë.
  4. L4 cache. Përdorimi justifikohet vetëm për mainframe dhe serverë me shumë procesor me performancë të lartë. Shitet si çip i veçantë. Nëse po bëni një pyetje se çfarë është ruajtja e të dhënave në një smartphone Samsung dhe po kërkoni këtë nivel në të, mund të them që padyshim që ishim shumë të nxituar për 5 vjet.

Asociativiteti i cache

Kjo është një karakteristikë themelore. Asociativiteti i të dhënave të memorizuara është i nevojshëm për të shfaqur segmentimin logjik. Ai, nga ana tjetër, është i nevojshëm për faktin se numërimi sekuencial i të gjitha linjave të disponueshme kërkon dhjetëra cikle orësh dhe mohon të gjitha avantazhet. Prandaj, një lidhje e ngurtë e qelizave RAM me të dhënat e memories përdoret për të zvogëluar kohën e kërkimit. Nëse krahasojmë buferët e ndërmjetëm që kanë të njëjtin vëllim, por asociativitet të ndryshëm, atëherë ai me më të madhin do të funksionojë më pak shpejt, por me efikasitet specifik të konsiderueshëm.

konkluzioni

Siç mund ta shihni, të dhënat e memorizuara lejojnë kompjuterin tuaj të veprojë më shpejt në kushte të caktuara. Por, mjerisht, ka ende mjaft aspekte për të cilat mund të punohet për një kohë të gjatë.

Ndoshta, shumë përdorues të kompjuterëve dhe pajisjeve celulare të paktën ndonjëherë kanë hasur në konceptin e "të dhënave të ruajtura". Çfarë është kjo, shumë, sinqerisht, thjesht nuk e kanë idenë. Sidoqoftë, duke përdorur këshilla për përshpejtimin e çdo pajisjeje që ka një sistem operativ, ata e dinë me siguri se cache duhet të pastrohet. Kjo është pjesërisht e vërtetë, por jo të gjitha të dhënat mund të fshihen. Ndodh që pa to, disa programe të instaluara në pajisje thjesht nuk do të funksionojnë.

Çfarë do të thotë "të dhënat e ruajtura" në një kuptim të përgjithshëm?

Pra, le të shohim konceptin e përgjithshëm. Përafërsisht, ky term përshkruan të dhënat e ruajtura në një kompjuter ose sistem celular për të shpejtuar aksesin pasues në aplikacione ose sajte të caktuara në internet duke shkarkuar informacione që normalisht do të kërkonin më shumë kohë për t'u marrë.

Për ta bërë më të qartë, mund të japim një shembull se si përdoren të dhënat e memories së ruajtur. Çfarë është kjo, për shembull, nëse një përdorues viziton një faqe interneti në të cilën ai shikon fotografi? Këto janë kopjet e tyre në formën e miniaturës, të cilat ruhen në një dosje të veçantë në hard diskun e kompjuterit ose në ruajtjen e brendshme të një pajisjeje celulare. Kur rihyni në faqe, përdoruesi nuk duhet të presë derisa të ngarkohet e gjithë përmbajtja (për shembull, grafika, video dhe, në përgjithësi, multimedia), pasi të gjithë elementët në faqe shtohen direkt nga drejtoria e cache-it.

ne telefon?

Por ky ishte vetëm një arsyetim i përgjithshëm. Me internetin gjithçka është e qartë. Le të shohim tani se cilat janë të dhënat e aplikacionit të ruajtura në memorie në një telefon (që do të thotë aplikacione të tjera përveç shfletuesve të internetit).

Në fakt, ky informacion është disi i ngjashëm në thelb me të dhënat e ruajtura nga Interneti, vetëm në pjesën më të madhe shoqërohet me ruajtjen e cilësimeve ose përmbajtjes specifike të ndonjë programi me të cilin funksionon sistemi operativ. Për ta bërë pak më të qartë, le të shohim disa shembuj më poshtë.

Shembuj të përdorimit të cache

Le të shohim disa lloje bazë të të dhënave që mund dhe nuk mund të fshihen. Në rastin e parë, kjo vlen për çdo aplikacion të instaluar në sistem, përveç nëse funksionaliteti i tyre i plotë kërkon përdorimin e një cache shtesë që ndryshon nga ai i sistemit.

Por me përmbajtje speciale cache, të cilat mjaft shpesh duhet të kopjohen në një telefon ose tabletë vetë ose të shkarkohen shtesë nga Interneti, situata është disi e ndryshme.

Shembulli më i thjeshtë janë të dhënat e memories së lojës. Çfarë mund të jetë? Po, çdo gjë: tekstura shtesë, grafikë, video, audio, apo edhe parametra të vetë lojës. Një informacion i tillë, siç është tashmë e qartë, nuk mund të fshihet në asnjë rrethanë, pasi atëherë loja thjesht nuk do të fillojë ose do të japë një gabim duke deklaruar se kjo dhe ajo mungon për të filluar.

E njëjta gjë vlen edhe për disa aplikacione muzikore për pajisjet mobile. Le të marrim si shembull FL Studio Mobile. Edhe vetë instaluesi i aplikacionit nuk ka gjithçka që ju nevojitet për të ekzekutuar sekuencuesin. Me fjalë të tjera, është instaluar vetëm guaska kryesore e softuerit.

Cilat janë të dhënat e aplikacionit të memorizuara në telefon në lidhje me këtë lloj programi? Këto janë paketat e veglave, efektet, cilësimet për ndërveprimin me aplikacionet e tjera, parametrat për mbështetjen e disa formateve audio, etj. Si rregull, një memorie e tillë ruhet në një dosje speciale obb, e cila ndodhet në diskun e brendshëm, përveç nëse tregohet se mund të vendoset në një memorie karte të lëvizshme. Një informacion i tillë zë një hapësirë ​​të mjaftueshme, por pa të aplikacioni do të jetë jofunksional (sa është vlera e vetëm një guaskë softueri, e cila nuk ka mjete apo efekte?).

Pastrimi i cache në një pajisje celulare duke përdorur mjete standarde

Çfarë janë të dhënat e ruajtura në një telefon, ne e kuptuam pak. Tani le të shohim çështjet e pastrimit të një përmbajtjeje të tillë, pasi ajo tenton të ngadalësojë sistemin.

Çdo pajisje Android ka dy mjete për pastrimin e cache-it. E para është krijuar për të fshirë të dhënat për të gjitha aplikacionet, e dyta ju lejon të pastroni cache vetëm për një aplikacion individual.

Nëse keni nevojë të fshini gjithçka, përdorni menunë e cilësimeve në të cilën është zgjedhur seksioni i kujtesës. Kur prekni një linjë të dhënash të ruajtura në memorie, sistemi lëshon një paralajmërim se të gjitha informacionet do të fshihen. Ne thjesht pajtohemi dhe presim që pastrimi të përfundojë.

Tani disa fjalë më shumë se cilat janë të dhënat e aplikacionit të ruajtura në memorie për sa i përket fshirjes së tyre për një aplikacion të zgjedhur veçmas. Mund të gjeni informacione rreth tyre në të njëjtin seksion memorie, por duke shkuar te menyja e aplikacionit.

Më pas, thjesht duhet të zgjidhni aplikacionin e dëshiruar dhe pasi të keni hyrë në menunë e tij, trokitni lehtë mbi butonin e fshirjes së cache-it në fund. Në përgjithësi, të dyja metodat e para dhe të dyta duken disi të papërshtatshme, pasi në këtë rast i ashtuquajturi fshirje mund të kryhet nga burime të ndryshme. Prandaj, është më mirë të përdorni programe speciale.

Përdorimi i optimizuesve dhe pastruesve

Sot, shumë programe të tilla janë krijuar në analogji me sistemet kompjuterike të palëvizshme. Në të njëjtat depo të Play Market ose AppStore nuk mund të gjeni as dhjetëra, por qindra.

Të dhënat e ruajtura në memorie (çfarë është kjo tashmë është e qartë) mund të fshihen për të gjithë sistemin dhe për çdo aplikacion të zgjedhur.

Sa i përket vetë programeve, më të preferuarit janë aplikacionet dhe aplikacionet me fokus të ngushtë të krijuar për optimizim të përgjithshëm. Të parat përfaqësohen nga programe të tilla si App Cache Cleaner, Auto Cahe Cleaner, etj.

Ndër optimizuesit, ne mund të veçojmë veçanërisht versionet celulare të CCleaner, Gjithë-në-një Toolbox dhe shumë të tjerë. Çfarë saktësisht duhet përdorur është një çështje e preferencës personale, sepse secili program i tillë ka të mirat dhe të këqijat e veta.

Në vend të një totali

Kjo ka të bëjë me kuptimin e termit "të dhëna të ruajtura në memorie". Çfarë është kjo, mendoj unë, tashmë është e qartë për shumicën e përdoruesve. Sidoqoftë, çështja e pastrimit të një informacioni të tillë duhet të trajtohet me kujdes ekstrem, pasi për disa lloje programesh, siç u përmend më lart, mund të jetë e nevojshme për punë. Por siç tregon praktika, është më mirë t'i drejtoheni shërbimeve të përgjithshme. Në to, mjeti i pastrimit të cache është një modul i detyrueshëm. Dhe kur i përdorni, gjithashtu mund të shpejtoni sistemin.

Artikujt më të mirë mbi këtë temë