Speeding up Existing Apps with a Redis Cache
We’ve gone through the basics of Redis in PHP before, but it’s time to cover a real life use case. In this tutorial, we’ll add it to an already deployed application to give the app the appearance of speed.
You can easily follow along by cloning the 0.6 release of the app.
Before applying a solution, we need to have a clear definition of the problem.
The application in question, when executing a query, runs off to Diffbot’s API and makes it query the dataset. The subset is then returned and displayed. This can take up to 5 or so seconds, depending on the busyness of Diffbot’s servers. While the situation will undoubtedly improve as they expand their computational capacity, it would be nice if a query executed once were remembered and reused for 24 hours, seeing as the collection is only refreshed that often anyway.
“But what good is caching a single query?” you might wonder. It’s not like most people will search for one and the same thing often.
Well… as a matter of fact, not only has research shown that they will often search for one and the same thing (React is trending? Sudden influx of “react” queries), they will also very reliably search for prolific authors (or themselves). Considering the fact that implementing this cache costs us literally nothing (and actually reduces costs by reducing strain on the servers), adding it in is an easy win, even if it weren’t used as often as one would hope. There is no reason not to add it – it can only benefit us.
With the problem clearly defined, let’s handle the prerequisites.
Continue reading %Speeding up Existing Apps with a Redis Cache%