Ugrás a tartalomhoz

Negatív cache

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

A számítógép-programozásban a negatív cache egy olyan átmeneti tároló, ami megőrzi a hibákat. Ez azt eredményezi, hogy a program a hiba kijavítása után is emlékezik a hibára, hacsak nem ürítik ki a cache-t. Rendszerint tervezési választás, de ha a kiürítést nem végzik kellő gyakorisággal, akkor antiminta lesz belőle.

Leírása

[szerkesztés]

Negatív cache-re akkor van szükség, ha a hibák nagy költséget okoznak, és a felhasználó közreműködése nélkül is bekövetkeznek. Ha nem gondolnak a cache kiürítésére, akkor nagyon idegesítő és frusztráló a felhasználó vagy a tesztelő számára, mert képtelenek megtalálni a hiba forrását: minden lehetséges okot felderítve és kijavítva is megmarad a hiba. Éppen ezért a programnak magának kell figyelmeztetnie minden alkalommal, hogy tessék kiüríteni a cache-t, amellett, hogy leírja a hibát. Emiatt is tekinthető antimintának.

Példák

[szerkesztés]

Tekintsünk egy webböngészőt, ami megpróbál betölteni egy lapot, amikor az elérhetetlen! A böngésző hibaüzenetet kap, és jelenít meg a betölteni kívánt lap helyett. Azonban inkorrekt lenne a böngészőtől, ha ezt a hibaoldalt elmentené a cache-be. A felhasználó majd akkor is megpróbálhatja betölteni a lapot, ha a hálózati kapcsolat helyreállt; ekkor már a honlapot kell betöltenie, és nem a hibaüzenetet, ami addigra már inkorrektté vált. Tehát mindaddig újra kell próbálkoznia, valahányszor azt a felhasználó kéri.

A negatív cache frusztráló aspektusa, hogy hiába találták meg és javították ki a hiba okát, a hiba látszólag ne tűnt el.

Vannak azonban esetek, amikor mégiscsak szükséges a hibák cache-elése. Például a DNS szabvány megköveteli,[1] hogy a névszerverek emlékezzenek a negatív válaszokra is. Ha egy referencia névszerver negatív választ ad, akkor cache-elődik, hogy a honlap nem létezik. Alkalmazás szinten hibának tekinthető, ha egy oldal nem létezik, de a névszerver számára ez nem hiba. Mindenesetre a negatív és a pozitív válaszok cache-elési ideje eltérhet.

Jegyzetek

[szerkesztés]

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben a Negative cache című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.