The Case of Transparent Cache Invalidation in Web Applications

Yunhong Ji,Xuan Zhou,Yongluan Zhou,Ke Wang
2023-11-04
Abstract: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.
Databases
What problem does this paper attempt to address?