Examine ideas for APIs and frontend libraries to improve caching performance
Current APIs as used aren't great for caching. For example, asking for the last 1000 operations in the blockchain wouldn't match a similar request made 3s before by another client. And requests made after to fetch older data will also not generate cache hits between the clients (i.e. if we ask for the next 1000 operations that occurred before the first request).
But at the expense of two calls for the first fetch, and an assumption about what is a reasonable amount of data to fetch per call, we could develop libraries that made calls to nodes that are efficiently cacheable.
For example, assume we had a chain that currently had 1000132 operations at the moment of the call and we think it is reasonable to fetch 100 items at a time. We could make a library function that asked for the most recent operations up to the nearest 100s place. This call would return items from 1,000,132 to 1,000,100. This first call wouldn't generate a hit with a call made 3s later from another client, of course (the 2nd client would for example might end up fetch 1,000,150 to 1,000,100). But any further calls made by either client to get more data would generate cache hits between each other. In other words, both would fetch 1,000,100 to 1,000,000 next. With many clients using a library that fetches in this manner, cache hits would dramatically increase.