  Application-level caches are widely adopted by web applications to minimize
the response time of user requests as well as to reduce the burden on the
system backend, such as the database servers. In the state of practice,
developers have to take care of the data freshness of application-level caches
manually. Given the growing complexities of today's web applications, it
becomes increasingly challenging for developers to understand, reason about,
and implement cache invalidation methods. Furthermore, according to our survey
of open-source web application projects and engineers, it is indeed challenging
to map database updates with cache entries at the application level. Therefore,
we propose a design to handle data validity in a transparent and precise
manner, without requiring any intervention from developers. Its main idea is to
modify the DBMS to provide necessary information for cache management and
enhance the cache with an invalidation index to identify and invalidate
outdated data automatically and efficiently. Based on the design, we further
provide two specific solutions. Our preliminary experiments indicate that our
solutions could effectively achieve transparent cache invalidation while
maintaining cost-effectiveness.
