Negatív cache
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.