Magento 2 Block Cache

Caching plays an essential role in improving the page load time. In this article, I want to show you five blocks cache in Magento 2, or five approaches to caching, and when and how to use them. Interestingly, this article will cover both full page and block cache. Let’s explore each type of block cache together!

In case, cache_lifetime of the block is set to a number greater than 0, the block is cacheable


to cache any block, you need to override this function 


How do I clear the cache in Magento 2 for a single product_id

the best way to do do this is using the below method

$objectManager =   \Magento\Framework\App\ObjectManager::getInstance();
$productR =      $objectManager ->create('\Magento\Catalog\Api\ProductRepositoryInterface');
$product = $productR->get('product_sku');
$this->_eventManager->dispatch('clean_cache_by_tags', ['object' => $product]);

you need of course to follow the DI to implement this code, I just used this quick way to make it easy to understand


Programmatically update customer data in Magento 2

Using Object Manager

$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$websiteId = $storeManager->getStore()->getWebsiteId();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerRepository = $objectManager->create('Magento\Customer\Api\CustomerRepositoryInterface');
// load customer info by email
$customer = $customerRepository->get('[email protected]', $websiteId);
// load customer info by id    
$customer = $customerRepository->getById(1);
// Update customer Info

How to enable Magento 2 profiler?

Magento profiler can help you with the store performance tuning before the store release or during the exploitation.
The old UI for enabling/disabling the profiler is not available in Magento 2 and the profiler is disabled by default.
To enable one of the profiler formats mentioned above, you can edit .htaccess (a configuration file for Apache Web Server software):

    Choose one of the next expressions:

Some important command in Magento2 after you change the mode to production

From the Magento root directory, switch to production mode:

 bin/magento deploy:mode:set production

Enable JavaScript bundling:

 bin/magento config:set dev/js/enable_js_bundling 1

Optimize bundling by minifying JavaScript files:

 bin/magento config:set dev/js/minify_files 1

Enable cache busting on static file URLs. This ensures users get the latest version of the assets anytime they update:

 bin/magento config:set dev/static/sign 1