Symfony has a very powerful built-in caching. You can use it directly by calling the default app cache and use it.
use Symfony\Component\Cache\Adapter\FilesystemAdapter; //.... function getCachedData() { /** * @var FilesystemAdapter $cache */ $cache = $this->get('cache.app'); //Define a key for the item $cacheKey = 'SOME_UNIQUE_KEY'; //Fetch the cached item from the cache $cacheItem = $cache->getItem($cacheKey); //Check if the cache is present and is still valid. if ($cacheItem->isHit()) { //Get the cached value and return $data = $cache->getItem($cacheKey)->get(); return $data; } //Since there is no cache available you can prepare the data $data = [10,20,30]; //Set the data to cache object $cacheItem->set($data); //You can set an expire time if you need. //Below I have set the cache to 1 hour. $cacheItem->expiresAfter(60 * 60); //Save the cache $cache->save($cacheItem); //Return the data return $data; } //....
You can use this a lot in your application in places where you access databases or accessing the web services.
Have a great day 😊