Menggunakan Redis untuk Caching di Laravel

Panduan langkah demi langkah untuk mengintegrasikan Redis sebagai solusi caching pada aplikasi Laravel, meningkatkan performa dan efisiensi sistem.
Menggunakan Redis untuk Caching di Laravel

Cara Memasang Redis

Panduan instalasi Redis pada Ubuntu 20.04 LTS, termasuk langkah-langkah untuk mengunduh dan mengonfigurasi Redis di server.

Instalasi Redis

Jika sistem operasi berbeda, Anda dapat mengikuti panduan lain untuk menginstal redis di komputer atau server Anda.

sudo apt update
sudo apt install redis-server
sudo systemctl status redis

Konfigurasi Redis

Temukan baris bind 127.0.0.1 ::1 dan requirepass foobared pastikan tidak ada komentar (hapus # jika ada), kemudian ubah foobared menjadi kata sandi yang aman.

sudo nano /etc/redis/redis.conf

Pengujian Redis

Menguji berfungsi Redis dengan menggunakan redis-cli, command-line Redis.

redis-cli
ping
auth your-password

Konfigurasi Redis Laravel

Penjelasan tentang cara mengonfigurasi Laravel untuk menggunakan Redis sebagai sistem caching, dengan pengaturan di file konfigurasi Laravel.

Installasi Library

Setelah library diinstal, inisialisasi predis dengan konfigurasi kredensial redis yang telah disiapkan. Hal ini memungkinkan aplikasi Laravel untuk terhubung dan berinteraksi dengan layanan redis.

composer require predis/predis

Konfigurasi env

Untuk menerapkan predis sebagai client, Anda perlu mengaturnya di .env seperti ini.

REDIS_CLIENT=predis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=your-password
REDIS_PORT=6379

Implementasi Redis

Untuk menggunakan Redis pada Laravel, kita bisa menggunakan Cache facedade yang disediakan oleh Laravel.

use Illuminate\Support\Facades\Cache;

class UserController extends Controller
{
    public function index()
    {
        try {
            $users = Cache::remember('users', now()->addMinutes(150), function () {
                $data = \App\Models\User::all();

                return $data->toArray();
            });

            if (empty($users)) {
                return response()->json([
                    'status'  => false,
                    'message' => 'Data not found',
                ], 404);
            }

            return response()->json([
                'status'  => true,
                'message' => 'Data found',
                'data'    => $users,
            ], 200);
        } catch (\Exception $e) {
            return response()->json([
                'status'  => false,
                'message' => 'An error occurred: ' . $e->getMessage(),
            ], 500);
        }
    }
}

Fungsi ini memiliki 3 parameter:

  1. users adalah nama kunci untuk Redis,
  2. $seconds adalah berapa lama data disimpan,
  3. function(){} adalah fungsi yang mengembalikan data yang akan disimpan di Redis.

About the author

Zulfadli Rizal
Make it Simple but Significant!

Posting Komentar