Với những website có lượng truy cập lớn hoặc số lượng bản ghi database nhiều thì cpu của server sẽ phải hoạt động rất nhiều để xử lý các truy vấn khi người dùng request tới. Vì vậy việc giảm tải cho cpu là điều cần thiết giúp hệ thống mượt mà hơn, tốn ít chi phí cho việc thuê server có cấu hình cpu cao. Hôm nay mình sẽ hướng dẫn các bạn cài và cấu hình Redis Cache đã cache dữ liệu từ MySQL ra Ram của server giúp tăng tốc request, giảm tải cho cpu.

Giới thiệu về Redis

  • Redis là hệ thống hỗ trợ caching data trên RAM

  • Redis cho phép lưu trữ dữ liệu dưới dạng key/value.

  • Redis hỗ trợ rất nhiều cấu trúc cơ sở dữ liệu cơ bản với:

    • key: kiểu string
    • value có thể là : Strings, Lists, Sets, Sortedsets(zsets), Hashes.
  • Redis có nhiều đặc điểm nổi bật như
    • Data lưu trữ trên ram với hiệu năng truy xuất cao.
    • Định kỳ sao lưu dữ liệu ra đĩa cứng
    • Hỗ trợ thêm, sửa, xóa dữ liệu đơn giản và nhanh chóng

Với nhiều đặc điểm nổi bật redis đang được ứng dụng ngày càng rộng rãi trong các các hệ thống như chat, soscial network,... những hệ thống đòi hỏi việc truy xuất nhanh và ổn định.

Cài đặt Redis Cache trên server

Như đã nói ở trên thì Redis có rất nhiều ứng dụng nhưng ở đây mình sẽ sử dụng duy nhất vào việc cache database ra Ram cho project Laravel.

Cài đặt Redis Cache :

# Dành cho Hệ điều hành CentOS 6 64 Bit
yum install redis

# Dành cho Hệ điều hành Ubuntu
sudo apt-get update
sudo apt-get install redis-server

Sau khi cài đặt xong các bạn khởi động Redis bằng lệnh:

service redis start

Vậy là xong các bạn đã cài đặt thành công Redis trên server của các bạn.

Cấu hình Redis cho Laravel

Trước khi sử dụng Redis với Laravel, bạn sẽ cần phải cài đặt predis/predis package qua Composer.

composer require predis/predis

Sau khi cài đặt package predis/predis bạn có thể kết nối với Redis để thực hiện cache dữ liệu ra Ram bằng cách sửa trong file .env như sau:

CACHE_DRIVER=file

# dòng này các bạn thay lại như sau

CACHE_DRIVER=redis

Nếu các bạn thay đổi port mặc định của Redis thì cũng cần cấu hình lại trong file .env này

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

Kiểm tra xem dữ liệu cache đã được đẩy ra Ram hay chưa bằng cách đơn giản các bạn lên server gõ lệnh:

top

Nếu có dòng pid Redis và có dung lượng như hình là đã thành công

Hướng dẫn sử dụng Redis Cache cho Laravel image 1

Trên đây mình đã hướng dẫn anh em cách sử dụng Redis để cache dữ liệu MySQL ra Ram để tăng tốc và giảm tải cho cpu. Nếu anh em cài đặt có vấn đề gì phát sinh hoặc cần góp ý về bài viết hay comment bên dưới nhé !

Viết câu trả lời

Drop Images