Кіріспе

Компьютерлік бағдарламалауда, теріс кэш – "теріс" жауаптарды, яғни сәтсіздіктерді сақтайтын кэш. Яғни, бағдарлама сәтсіздік екенін көрсететін нәтижені, оның себебі түзетілгеннен кейін де есте сақтайды. Көбінесе теріс кэш – дизайн шешімі, бірақ ол бағдарламалық қате болуы да мүмкін.

Мысалдар

Желіде қолжетімсіз болған кезде бетті жүктеуге тырысатын веб-браузерді қарастырайық. Браузерге қате коды келіп түседі және ол пайдаланушыға сұралған беттің орнына осы қате туралы хабарламаны көрсетуі мүмкін. Дегенмен, браузердің қате хабарламасын бет кэшіне орналастыруы дұрыс емес, себебі бұл пайдаланушы желі қалпына келгеннен кейін де сол бетті жүктеуге тырысқанда қате қайтадан көрсетілуіне әкеледі. Қате хабарламасы беттің URL-і бойынша кэштелуі тиіс емес; браузер бетті сәтті жүктемегенше, пайдаланушы бетті жүктеуге тырысқан сайын, браузер жаңа әрекет жасауы керек. Жағымсыз кэштердің көнерген жағы – пайдаланушы мәселені шешуге көп күш жұмсауы мүмкін, ал түпкі себебін анықтап, жойғаннан кейін де қате жоғалмайды. Кейбір жағдайларда сәтсіздік жағдайларын кэштеу қажет. Мысалы, DNS кэштеу атау серверлері жағымсыз жауаптарды жағымды жауаптармен бірге есте сақтауын талап етеді. Егер беделді атау сервері жағымсыз жауап берсе, атаудың жоқ екенін көрсетеді, бұл кэштеледі. Жағымсыз жауап қолданба деңгейінде сәтсіздік ретінде қарастырылуы мүмкін; алайда, оны кэштейтін атау сервері үшін бұл сәтсіздік емес. Жағымсыз және жағымды кэштеу уақытын тәуелсіз түрде реттеуге болады.

Сипаттама

Теріс кэш әдетте, егер қателік қымбатқа түссе және қате жағдайы пайдаланушының араласуынсыз автоматты түрде туындаса ғана қажет болады. Бұл пайдаланушыға қателік себебін анықтауға мүмкіндік бермейді: олар барлық мүмкін нәрсені түзгеніне қарамастан, бағдарлама жұмыс істеуден бас тарта береді. Қателік кэштелген жағдайда, бағдарлама қателік себебін сипаттағаннан бөлек, кэшті тазалау үшін не істеу керектігін нақты көрсетуі керек. Мұндай жағдайларда теріс кэш – дизайнның дұрыс емес үлгісінің мысалы болып табылады. Кэште сақталған жазбалардың мерзімі біткен жағдайда теріс кэш жаңаруы мүмкін.