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.
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:
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.
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.
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
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é !
Unpublished comment
Viết câu trả lời