✅ 1. Cài đặt Memcached

Trên Ubuntu/Debian:

sudo apt update
sudo apt install memcached libmemcached-tools -y

Khởi động và kiểm tra:

sudo systemctl start memcached
sudo systemctl enable memcached
sudo systemctl status memcached

✅ 2. Cài đặt extension PHP memcached

Laravel 12 yêu cầu PHP có extension memcached.

Với PHP 8.x:

sudo apt install php-memcached

Kiểm tra lại:

php -m | grep memcached

✅ 3. Cấu hình Laravel 12 sử dụng Memcached

3.1. Cấu hình trong .env

CACHE_DRIVER=memcached

3.2. Kiểm tra config/cache.phpmemcached chưa

'memcached' => [
    'driver' => 'memcached',
    'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
    'sasl' => [
        env('MEMCACHED_USERNAME'),
        env('MEMCACHED_PASSWORD'),
    ],
    'options' => [
        // Memcached::OPT_CONNECT_TIMEOUT => 2000,
    ],
    'servers' => [
        [
            'host' => env('MEMCACHED_HOST', '127.0.0.1'),
            'port' => env('MEMCACHED_PORT', 11211),
            'weight' => 100,
        ],
    ],
],

Nếu chưa có thì thêm thủ công đoạn trên vào mảng stores.


✅ 4. Dùng thử cache với Memcached trong code

4.1. Set cache:

use IlluminateSupportFacadesCache;

Cache::put('key_demo', 'Hello Memcached', 300); // 300 giây

4.2. Get cache:

$value = Cache::get('key_demo');
dd($value);

4.3. Kiểm tra có tồn tại:

if (Cache::has('key_demo')) {
    echo 'Đã có cache';
}

✅ 5. Dọn cache

php artisan cache:clear

✅ 6. Tối ưu hóa hiệu suất Memcached (nâng cao)

Chỉnh file cấu hình Memcached tại /etc/memcached.conf (Ubuntu)

Ví dụ:

-m 512        # RAM 512MB
-p 11211      # Cổng mặc định
-l 127.0.0.1  # Chỉ lắng nghe localhost

Sau đó restart:

sudo systemctl restart memcached

✅ 7. Kiểm tra Memcached đang hoạt động

echo "stats settings" | nc localhost 11211

✅ 8. Gợi ý sử dụng thực tế

Bạn có thể sử dụng Memcached để cache:

  • Dữ liệu API
  • Kết quả truy vấn DB nặng
  • Các cài đặt hệ thống ít thay đổi
  • Session: Laravel hỗ trợ lưu session trên Memcached (SESSION_DRIVER=memcached)