Hi everyone and welcome back to another edition of
the Hussey Coding blog.
Last week we revealed to the world that our extension for the Magento 1 platform, Evolved Caching, is now free for download. However, I know what you're thinking, "Just because it's free, doesn't mean it's worth it!"
In today's article, we'll task the question...
If you're on the search for a full-page caching solution for your Magento store you have probably seen a wide range of solutions with seemingly more on the way all the time. So why should you pick Evolved Caching over other solutions?
Evolved Caching offers not only the best performance in the market place, but it's also a significantly more advanced solution than competing products. In performance terms Evolved Caching is comparable to Varnish, meaning you are likely to achieve the same time to first byte (TTFB). If you want to use Varnish, then you can integrate directly and have both Varnish and Evolved Caching serve your cached pages. Evolved Caching will also allow Varnish to cache many more pages than other Varnish only extension solutions. PageCache powered by Varnish, for instance, stops serving cached content altogether as soon as you add a product into the cart.
Evolved Caching can achieve the same TTFB as Varnish because of how it serves cached content compared to other solutions. Most solutions pull the cached content then populate the cached page with dynamic data (i.e. mini cart, header links, etc.) before delivering anything to the browser. This means you'll have to enter the Magento framework to generate the cached content, which is always going to be slow! Why? Well, every time you do this, you'll need to run thousands of lines of code and execute a large number of database requests. This has a direct impact of how long it takes the server to deliver content to the browser and therefore your TTFB.
Evolved Caching is different because it delivers the cached content to the browser immediately giving an excellent TTFB. It then populates the page with dynamic content after it has been delivered to the browser. It can populate the page with dynamic content in 2 ways, either via an AJAX request or via BigPipe. It was the first solution to use AJAX, and the only solution to offer BigPipe as an option.
Whichever method you pick you are going to have the cached page content delivered to the browser quicker and therefore achieve a better TTFB. To give you an idea of how much faster Evolved Caching is, when looking at other solution demo's, we see the server taking around 30% of the time to generate HTML for each page (600ms without caching, 200ms with.) If you have a look at our benchmarks, you will see you are looking at less than 0.5% of the time to generate HTML for each page.
So performance and TTFB is one reason to implement Evolved Caching over other solutions, but, increased performance isn't the only benefit! Evolved Caching has a totally different approach to keeping the cache up to date. Many other solutions rely on a cache purge and crawl cycle to refresh the cache. This means that the entire cache is likely cleared and rebuilt on a daily, or a more regular interval. When making updates to your site's content you may not see those changes reflected until this cache purge and crawl cycle has been completed.
Evolved Caching is totally different in its approach.
The aim right from the start was to make it a hands-off solution that just works, keeping your cache always primed and up to date. Only the relevant cached pages are rebuilt, for instance, when saving a product, category or CMS page. It also caters for caching scenarios that other solutions don't like rebuilding the cache for time-limited, storewide design changes, applying to a product, category or CMS page. The same is true for other time-limited features such as special or limited product prices.
Basically once a cached page has been created, you should never have to delete it, and it should always be kept up to date automatically. However, should you find that you do need to clear your full page cache, Evolved Caching includes the functionality to crawl your site, creating a basic cache as a starting point. It also allows you to regenerate your entire cache in case you want to make a site-wide design change that affects every page like the header or footer.
Another reason to favour Evolved Caching over other solutions is the options it gives you in how you want to store your cached content. You can cache to files, APC, Memcached or Redis with memory-based cache storage being faster on average than files. Although some solutions offer different caching backends, many don't and only cache to files.
Evolved Caching was also developed to make it easy to configure for your install. Other solutions require some development knowledge to hole punch any but standard blocks from caching - so, you need to create an XML configuration file defining extra blocks to exclude. Evolved Caching instead provides a frontend URL helper argument, ?show names. Append this to any frontend URL and the block names will be displayed, just add any of these names into the extension config in admin and that's it - no development knowledge required! You can equally add in pages by URL to be excluded from caching from admin, i.e. cart, checkout, customer login area etc.
These things are really just touching the surface of what the extension can do compared to competing solutions and you can read a lot more in our documentation or you can get your FREE copy from our store at
https://store.husseycoding.co.uk/
or on GitHub at
github.com/husseycoding/evolvedcaching
Thank you for joining us today, as always please consider liking, sharing and spreading the love on your favourite social media platforms using the #HusseyCoding. Until then, stay safe and have a great day.
You can also join all the fun on our various social media profiles
Facebook - facebook.com/husseycoding
Twitter - twitter.com/husseycoding
LinkedIn - linkedin.com/company/hussey-coding
Sign up to developer connection at www.developerconnection.co.uk
Facebook - facebook.com/DeveloperConnection
Twitter - twitter.com/devconnectionuk
LinkedIn - linkedin.com/company/developer-connection
No comments:
Post a Comment