We all know that when it comes to eCommerce, faster is better. Slow web pages cause billions of dollars in lost eCommerce revenue every year. A third of eCommerce shoppers will turn to a competitor if a store provides a poor user experience because of latency. And 44 percent of users assume that a slow shopping cart means that their transaction has failed. Nexcess understands eCommerce retailers’ need for fast, consistent, and stable performance, which is why we base our performance optimized eCommerce hosting plans on Magento.
But however fast the eCommerce platform and servers and however optimized the PHP execution and database environment, there’s a limit to what can be done without caching, which is why many of our Magento plans use caching applications that include Memcached, Redis, and Varnish.
Memcached is an excellent caching solution, particularly because it is a multi-threaded caching system that can take advantage of multiple cores. But Memcached also has some limitations that prevent it from being the ideal solution in some scenarios.
Redis is a key-value store that works brilliantly with Magento, offering better performance than Memcached alone in many situations and with additional functionality that makes it a compelling option.
Just like Memcached, Redis an in-memory key-value store that can cache Magento data and serve it significantly more quickly than Magento itself, which relies on database queries and disk reads, but Redis has a number of advantages over Memcached, which include:
- Persistence — Memory is volatile and if a server goes down, the data cached in memory is lost. Redis is capable of snapshotting its dataset to disk at intervals, ensuring that at most a few seconds of data is lost.
- Replication — Redis supports master-slave replication — data can be duplicated across a number of slave nodes — which makes it easy to scale Redis and avoid the single point of failure introduced by having a non-replicated cache.
- Rich data types — Redis has a much richer set of data types than Memcached, one significant advantage of which is that it allows us to tag sets of values as related, which can greatly increase the efficiency of flush operations for applications like Magento.
However, unlike Memcached, Redis is a single-threaded application, which means that it can only process requests one at a time.
Try it yourself
At Nexcess, we understand that a one-size-fits-all approach doesn’t always result in the optimal solution, which is why we offer a variety of caching strategies using both Redis and Memcached. Magento Enterprise Edition eCommerce hosting clients can choose to use either key-value store in a variety of configurations for backend and session caching, or even both in a split-backend cache configuration. We are happy to work with clients to accommodate their specific requirements.
In concert with our other optimizations, exhaustive testing showed that by coupling Magento with Redis and Memcached, we were able to achieve massive performance increases for Magento eCommerce stores.