> For the complete documentation index, see [llms.txt](https://oguzhaninan.gitbook.io/varnish-cache/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oguzhaninan.gitbook.io/varnish-cache/oenbellegi-gecersiz-kilma/zorla-oenbellek-kacirmak.md).

# Zorla Önbelleği Geçersiz Kılmak

**ban** ve **purge** işlemlerinin amacı, yeni verileri önbellekte saklamak değil, önbellekteki öğeleri kaldırmaktır. Geçersiz nesneyi tekrar talep eden bir sonraki kullanıcı, bu nesnenin önbelleğe yeniden girmesini tetikler. Bu eşzamansız bir işlemdir ve geçersiz kılma isteği ile verilerin önbelleğe yeniden girilmesi arasında bir süre olabilir.&#x20;

Verilerin senkronize bir şekilde “yeniden yüklenmesi” için, **req.hash\_always\_miss** daha iyi bir çözümdür. **vcl\_recv** içinde **req.hash\_always\_miss** değerini **true** olarak ayarlayarak, önbellekteki nesnenin süresi dolmamış olsa bile, Varnish’e bu kaynağın en son değerini almasını söyleyebiliriz. Güncel değeri içeren yeni bir nesne ayarlanır. Eski nesne artık kullanılmıyor, ancak süresi doluncaya kadar hala orada olacak.

{% hint style="info" %}
**req.hash\_always\_miss** belleği boşaltmaz. Aksine, bunun yerine önbelleğe fazladan nesneler ekler.
{% endhint %}

Bu yenileme stratejisini, örneğin bir web sitesinin editörüyseniz kullanabilirsiniz. Kendinizi tanımlamak için bir ACL kullanırsınız ve istekleriniz asla önbelleğe alınmış bir nesne döndürmez. Bu kaynağı her güncellediğinizde, güncellenmiş sürümü hemen görürsünüz.

```c
acl editors {
  "localhost";
  "192.168.55.0"/24;
}

sub vcl_recv {
  if (req.http.cache-control ~ "no-cache" && client.ip ~ editors) {
      set req.hash_always_miss = true;
  }
}
```
