megacolorboy

Back

Published on July 5th, 2020

Laravel

How to cache your queries on your Laravel application?

Although, Laravel is a good framework, it's quite heavy when it comes to executing queries especially if you're using the Eloquent ORM instead of the normal query builder.But Laravel does offer the option of caching your queries in the server and will only make calls to your database if there's a change in content.Quite handy when you're having a content-heavy website and huge amount of user traffic.Using the class, you can cache your queries like this:In the above example, is the key that stores your queries of apples forever and which will be used to obtain your cached results from the server. Oh, be sure to create distinctive names for different types of queries or else, you'll end up being confused! 😜You can also give it a time limit in milliseconds:Hope this tip helps you out! 😀

1 minute read

Although, Laravel is a good framework, it's quite heavy when it comes to executing queries especially if you're using the Eloquent ORM instead of the normal query builder.

But Laravel does offer the option of caching your queries in the server and will only make calls to your database if there's a change in content.

Quite handy when you're having a content-heavy website and huge amount of user traffic.

Using the Cache class, you can cache your queries like this:


$apples = \Cache::rememberForever('apples_cache', function(){
    return FruitsModel::where('item_name', 'LIKE', '%apples')
        ->get();
});

In the above example, apples_cache is the key that stores your queries of apples forever and which will be used to obtain your cached results from the server.

Oh, be sure to create distinctive names for different types of queries or else, you'll end up being confused! 😜

You can also give it a time limit in milliseconds:


$apples = \Cache::remember('apples_cache', 300000, function(){
    return FruitsModel::where('item_name', 'LIKE', '%apples')
        ->get();
});

Hope this tip helps you out! 😀