Invalidating cached web representations when their underlying data changes can be very simple. For instance, invalidate /articles/123
when article 123 is updated. However, data usually is represented not in one but in multiple representations. Article 123 could also be represented on the articles index ( /articles
), the list of articles in the current year (/articles/current
) and in search results ( /search?name=123
). In this case, when article 123 is changed, a lot more is involved in invalidating all of its representations. In other words, invalidation adds a layer of complexity to your application.
Summary:
- Using invalidation to transfer new content can be difficult when invalidating multiple objects.
- Invalidating multiple representations adds a level of complexity to the application.
- Cache invalidation must be carried out through a caching proxy; these requests can impact performance of the caching proxy, causing information to be transferred at a slower rate to clients.