Maybe you want to check demo store
before reading description?
What is cache?
Let's say that we have a very complex function that is used in our computing program very frequently. One way of speeding up our computing system as a whole is to save result from our complex function, and use it instead of calculating it every time. Subsystem responsible for storing and accessing our result is called cache.
Writing a good cache is a very complex task, and biggest problem that needs to be solved is data invalidation. As data changes, result from our function could also change. And if result changes, we want to delete previous result from cache and recalculate it.
Luckily, good people that made mysql server incorporated a good cache system in it and we have to make a good use of it.
DB Cache Unleashed
This extension improves "compatibility" with mysql cache, effectively enabling mysql to automatically cache more OC database queries
DB Cache Unleashed utilizes mysql cache that will automatically invalidate stale data
. As far as we know it, no other caching extension for Opencart will delete stale data from cache "as it happens"
. Cached queries are shared between different pages, making cache "warm-up" very quickly.
We performed benchmark on OC 18.104.22.168 with about 25 000 products in 1000 categories. Benchmark for this extension was performed on installation with "Premium DB Indexes"
already installed. Speedup is about 7x, and is much
higher if "Premium DB Indexes" extension is not present.
Is this extension for me?
This extension will speed up only user area. If you are using full page cache, user experience will remain same, but cache regeneration will be faster. For shops that have many products/categories/orders we recommend using "Premium DB Indexes"
with this extension.
What exactly this extension does?
1. disables counting of product views
2. rewrites sql queries so they can be cached by mysql cache
Find out more
about our plugin here on official plugin page
Please be sure to check side-by-side performance comparison
between shops with our optimization extension and without it. Both OpenCart instances are of absolutely same configuration handling identical amount of categories and articles
or for your convenience, please follow the link to optimized and unoptimized versions to see for yourself.
Additional info and resources:
This version is much more compatible with templates such as Journal 2.
Templates (such as Journal 2) are known to bypass some or all of the core files that are changed by this extension. UNIVERSAL version works differently, so templates can not "turn off" changes. This version changes mysqli and/or mpdo database driver so it can intercept and rewrite queries.
This extension will not work as expected if your db server does not have cache turned on, or if it too small to hold the data. If your shop is hosted on shared server, please check with your hosting company if they have enabled mysql cache. If you are using dedicated server or VPS, you can turn on cache by yourself.
To test if you have cache enabled, connect to your database and issue:
SHOW GLOBAL VARIABLES LIKE 'query_cache_%';
If you get query_cache_type=ON and query_cache_size larger then 0, you have mysql cache enabled.
Please read documentation before installing new version.
These modifications are not part of extension and are not supported.
* BONUS-categories-speedup.ocmod - for OC2+ - alters OC function for fetching categories to use 1 sql. This function is used by some extensions and themes (Journal,...) to build cetegory menus with nested categories. If you have such menu, this modification could speedup your shop.