Book Image

High Performance with Laravel Octane

By : Roberto Butti
5 (2)
Book Image

High Performance with Laravel Octane

5 (2)
By: Roberto Butti

Overview of this book

Laravel Octane is a very powerful component in the Laravel ecosystem that can help you achieve remarkable app performance. With Laravel Octane, you will find tools (queues, cache, and tables) that facilitate a new asynchronous approach for improving application performance. This book highlights how Laravel Octane works, what steps to take in designing an application from the start, what tools you have at your disposal, and how to set up production environments. It provides complete coverage of the strategies, tools, and best practices to make your apps scalable and performant. This is especially important as optimization is usually the overlooked part in the application development lifecycle. You will explore the asynchronous approach in Laravel and be able to release high-performing applications that have a positive impact on the end-user experience. By the end of this book, you will find yourself designing, developing, and releasing high-performance applications.
Table of Contents (14 chapters)
Part 1: The Architecture
Part 2: The Application Server
Part 3: Laravel Octane – a Complete Tour
Part 4: Speeding Up

Making the cache mechanism asynchronous

In Chapter 3, Configuring the Swoole Application Server, we explored the Octane::tick() method.

The tick() method allows you to execute a function every n seconds.

The caching strategy could be reviewed by delegating data loading to a specific function. This specific function is responsible for retrieving data with the query from the database (and not from the cache), and once the data is retrieved, the function stores the results in the cache. The function is called via the Octane::tick() method and executed – for example, maybe every 60 seconds, fresh data from the database is retrieved, and it fills the cache. All the requests retrieve the data from the cache.

With the asynchronous caching strategy, all the requests retrieve data from the cache.

The cache is refreshed by the task called via tick().

To implement the asynchronous caching strategy, we are doing the following:

  1. Implementing the tick() function in the...