Survey on Application-level cache

Application-level caches have been widely adopted in today’s Web applications. They are usually used to cache results of frequently invoked functions. These functions usually need to access stateful information in databases. As database access is expensive, application-level caches can effectively reduce the workload of backend servers and enhance user experience.

While most modern Web development frameworks support caches, it takes experience to use cache well. This survey aims to understand how caches are adopted in real-world applications, including their deployments, uses, and unsolved issues.
 
This survey is part of a public-funded research project hosted in the Department of Computer Science at the University of Copenhagen. The results will be collected and used for academic research and published in an open-access paper.

By responding to this form, you understand that you have no obligation to contribute with any information and you have the right to request the removal of the data provided at any time. All information collected in this study is confidential and your name won't be identified at any time.

You could contact us (zhou@di.ku.dk) at any time if you have any questions.
1.What is your current role at work(Required.)
2.Which language do you use in your work?(Multi-Select)(Required.)
3.Which cache manager do you use?(Multi-Select)(Required.)
4.Which cache storage system do you apply?(Multi-Select)(Required.)
5.Which kinds of queries do you think need to cached? (Multi-Select)(Required.)
6.Have you ever encountered any case where one database update causes multiple cache entries to be invalidated?(Required.)
7.In what granularity do you usually invalidate cache entries?(Required.)
8.Row-level invalidation seems superior to table-level invalidation, as it is more precise. What may prevent you from adopting row-level invalidation?(Multi-Select)(Required.)
9.If you think there is no need to apply row-level invalidation, please give a brief explanation.
10.Which cache policy do you apply in your work?(Multi-Select)(Required.)
11.Have you ever been bothered by the following issues? (Multi-Select)(Required.)
12.What other functions do you want in the cache managers? (Optimal)
13.Do you think Eventual Consistency is sufficient for most applications when applying application-level cache?(Required.)
14.Which cache replacement policies have you adopted in your applications? (Multi-Select)(Required.)
15.When will you consider using caches? (Multi-Select)(Required.)
16.If data is frequently updated, how do you make sure that your cache is up to date? (Multi-Select)(Required.)
17.Do you think we can get rid of caches by deploying a super-fast database system, such as an in-memory database system?(Required.)
18.If you want to know the result of the survey, you can leave us your mailbox (Optional)